Developing GIS application for windows phone 7 and 8 - sql-server

I am planing to start a GIS application for windows phone (7 and 8) and I have some important questions. Any idea will be appreciated!
1- Database Engine for WinPhone. Is SQLServer Compact the only option for database engine? Is there an alternative?
2- Does SQLServer Compact (or its alternative) support Spatial data?
3- Is there any libraries suitable for works like processing geo-spatial data? Rendering such data?...

SQL Server Compact is the built-in database for Windows Phone. However, if you can find other C#-based databases, they can probably be made to work.
I would expect any GIS library to be commercial. See for example Map Suite which is a Windows Phone GIS component.
You might be able to use some of the code from http://sharpmap.codeplex.com/ - but it targets .NET4.0 rather than Windows Phone.

Related

How to configure sqlite to be universal across all versions of windows for a desktop bridge winforms app?

I have a win forms app that targets .net 4.6.1, which allows the user to choose the database type they prefer on login. Deploying to appx via desktop bridge breaks the SQLite function. I want as little fragmentation as possible, as I'm the only person working on my app. After reading that windows 10 has its own managed version of SQLite, the question now becomes, what is the best practice approach that allows all windows version users to use sqlite without splitting the app into multiple versions?

Web performance isn't up to snuff... what's the new "Microsoft Way"?

Looking for opinions. I'm working on a mid-sized 3-tier ASP.NET project (.NET 2.0 and Visual Studio 2005) with an Oracle on Unix back-end, some beefy MS web servers, and IE browser clients. Performance is pretty bad, and users feel the UI looks outdated as well. We may have an opportunity soon to redesign and rewrite the entire application from the ground up, and I'm wondering what the current or recommended MS platform is.
I was involved with WPF and Silverlight on a different contract when MS downgraded support for Silverlight in favor of "HTML5" for Windows 8 and Windows Phone a few years back. I'm not trying to start a flame war between how long Silverlight or even WPF will be around, but I'm looking for some modern alternatives as of today, April 2013. The one requirement we can't get around is that we can't install something on each and every user PC throughout the client organization.
My own background is in WinForms and C# more so than any of the above, but everywhere I turn it seems developing any new LOB apps in WinForms isn't done much anymore.
Whatever happened to the Application Server platform and apps run thru Remote Desktop? Does it still make sense to develop desktop apps and deploy to app servers and just put a shortcut on each user's desktop, or even map a drive letter like we used to do back in the day?
Your $0.02 would be appreciated!
I would definitely consider doing it as an internal web site.
The UI would be HTML5 using the "single page application" (SPA) for each function you need. Each function would be on a page that is loaded when the user needs it. The javascript/ajax code in the browser would interact with the web server which feeds back the raw data needed to be displayed.
Using Active Directory, you can have full security and customization per person.
If you need lots of interactivity, then you'd also want to consider including SignalR in the mix. (That is one of the "new" MS tools!)
If you can't install anything in the end users' PCs then go ASP.Net. Anything else will require installation.
You can make a web application more appealing to the users by having a good designer and a LOT of javascript. Not remotely comparable to the power and beauty of WPF, but that's your best bet.
WPF is part of the .Net framework and will not run without it installed.
Silverlight could also be an option, but it still requires an installation (although minimal, 4 MB, less-than-2 minute install), but an install anyways.
WinRT only works in Windows 8. It's not supported in lower versions (Vista, XP, 7). So I don't think it's an option as of now (unless all your users have Windows 8, of course).
And no, winforms is not an option. It's also part of the .Net framework, and even if you could get it installed, it doesn't make any sense having to deal with the limitations of it, having many much much better technologies at your disposal.

Alternative for Access+SQL Server for enterprise projects

We're a small software company, developing projects for manufacturing facilities about analysis, traceability, reporting etc. We're using Access for front end, SQL Server for back end. We've quite big customers too and our company is growing. So far it is working fine but I wonder should we move to more influential technologies, such as web based solutions. What do you think about the future of Access?
Well, keep in mind that Access now has a web option. This option works with SharePoint and the new upcoming office 365. Here is a video of an Access application and note how at the half way point I switch to running the application 100% in a web browser. No ActiveX or Silverlight is required. I even tested and run the application on my iPad.
Video here:
http://www.youtube.com/watch?v=AU4mH0jPntI
And Access 2010 also has baked in support for the Azure (cloud) edition of SQL server.
So, we have web based options, cloud based options, and there been significant investments into Access for 2010.
You could have a look at these questions:
MS Access as Enterprise Software?
and
What are the appropriate uses for MS Access?
Here we have a central SQL Server database, with both an MS-Access and a Web client interface. MS-Access is history (we started it 5 years ago) and Web is trendy (less than one year old). I must admit that MS Access is still very very efficient and cheap, once you have resolved some MS access specific problems, to which you might find answers here:
Working with multiple programmers on MS Access
How do you use version control with Access development?
Best way to test a MS Access application?
MS-Access, VBA and error handling
You can always use VB.NET Express. It's free, and Microsoft's licensing should still allow you to sell apps created with it (they did with Express 2005).
UPDATE: Access 2013 has better support for web apps than previous versions, and the apps use SQL Server or SQL Azure under the hood by default. So be sure to thoroughly evaluate the latest version of Access before concluding that you need something else.
A very good alternative to Access with similar features is Lightswitch. Here's a quote from MSDN:
Visual Studio LightSwitch is a development environment designed to simplify and shorten the development of businesses applications and data services. LightSwitch makes it easy to create data-centric business applications that can consume a variety of data sources and create clients that can run on a variety of devices.
While Access now has a web option as #AlbertDKallal mentioned (and which is still worth considering as one option), creating an HTML 5 app is the whole focus of Lightswitch. (Note: the original version of Lightswitch required Silverlight, but the newer versions create HTML5 apps that don't require any plugins.) The app will also be more extensible, since it's a .NET app, and for things that require custom programming you can program in C# or Visual Basic rather than VBA.
I should mention at this point that I haven't actually tried Lightswitch yet (!) - I'm currently evaluating it and these are the features that look attractive to me compared to Access. If anyone reading this in the future is curious about what my experience with it was like, feel free to write a comment to remind me.
For some introductory info, see these links:
Showcase Video
Is Visual Studio LightSwitch the New Access?
(Note that this article is about a the original version of LightSwitch, not the latest version.)
And...for a completely different cloud-based option, check out:
https://www.parasql.com/

Out of browser silverlight 4 application with local database that will run and install on windows or mac?

I am researching using silverlight 4 to develop a desktop application that can be installed from a browser window, now the tricky part is that I want a lightweight database embedded into the application. The database should install with the rest of the application and it should ideally work on both windows and mac systems. Originally I was thinking sqlite would be suitable for this but I have learned that it is not compatible with silverlight. Does anyone know of a solution for this?
There are some available silverlight databases such as:
siaqodb - uses LINQ, available for WP7 - commercial.
effiproz - available for WP7 - commercial.
Perst - open source.
These utilizes silverlight local storage, comes with their own database engine.
There is also Ninja Database Pro that works for Silverlight and Windows Phone 7:
http://www.kellermansoftware.com/p-43-ninja-database-pro.aspx
Nowadays SQL Lite is a viable option for SL4 / SL5.
You could also team that up with DevArt LinqConnect product (http://www.devart.com/linqconnect/) that is an EF / Linq-to-SQL like wrapper over SQL Lite.
I've also looked at alternatives Siaqo DB and Ninja DB (as mentioned by others).
While not exactly a database, the upcoming release of the Sync Framework will support offline caching for Silverlight 4 on the desktop/browser, and Silverlight on Windows Phone 7. As Liam Cavanagh mentions in this blog post before TechEd:
I have a TechEd session this week where I will be demonstrating all of this as well as how we will be extending the capabilities of the sync framework for creating offline applications, specifically allowing Silverlight, Windows Phone 7 and even non-MSFT platforms to be used for the clients.
Link

Handheld Development, Lazarus or Turbo Delphi.Net

I begin to program some handheld program as hobby, right now i currently have knowledge on Blackberry App (Java), Symbian S60 (PyS60) and J2ME
Something that i wanna learn was Windows Mobile/Pocket PC and iPhone development, but since i don't use Mac so i step to Windows Mobile/Pocket PC development
Here some question:
1. Which is better Lazarus or Turbo Delphi.Net?
2. Do both have some kind support of network access (GPRS, Wi-Fi, HSDPA, etc)?
3. Do both have database access, both remote database and standalone/embed database? like SQL Server 2005 CE?
4. Do i need some driver installed on Windows Mobile/Pocket PC to be able to work with SQL Server 2005 Developer on server i already have?
If possible answer point-by-point
Thanks
Lazarus has form designer built in for WinCE applications, Delphi 4.Net doesn't has one, also CG has stopped developing the Turbo Delphi line, and it's support .Net CF 1.1 only.
Maybe using Delphi Prism will be better option, because it's support the latest .net framework, and with the new MonoTouch it could be better option for future development with IPhone too.
Point 2 & 3, I don't have information about them, you could visit Lazarus forums and wiki to have more information, but for Delphi 4.Net it has support for all classes on the .Net framework CF.
4.If I remember correctly, the .Net CF has drivers for SqlServer Mobile edition and Sql Server, for example it has SqlCEConnection for mobile and SqlConnection for Regular Sql server edition.
I never tried Turbo Delphi .NET, but afaik CodeGear stopped that line, so I wouldn't start new development in it. I also heard that CF.NET was not officially supported and a bit ackward. As said I never used it, I hope that others will comment.
Lazarus core functionality works, but many more "outer" parts are not always tested on CE, and you will have to find stuff out yourself.
Roughly the same as under normal delphi/win23. Can access TCP/IP with Indy10 afaik, but to work with network connections you need api calls
sqlite is sometimes used. In theory all the db drivers should run if their client libraries are available to arm. The DB support should mostly be endian clean. However I don't know which ones are supported.
Sql Server variants are generally not supported by FPC, except via ODBC. And I don't know if CE has that.
Usually you need to have some client lib or a generalized DB connectivity lib ADO/ODBC/JDBC.
Browsing the lazarus/fpc wiki for CE topics could be a good next step. If you persist in CF.NET, I would migrate to VS, and not work with TD.NET.
If I would develop something for a handheld, I would create a webapplication. Only if you need to access the handheld data (pim, gps, ...) it makes sense to create a local running application.
But if you want to create something to run on the device, I would go for FPC / Lazarus as well.
Your questions has been answered so I'll reply with my opinions;
Lazarus: It gives you power of
native application, but it's not used
widely. Give it a try, see if it fits
your needs on the mobile device.
Perhaps report bugs and help its
development.
Delphi Prism + .NET
CF: Object-pascal alike .NET syntax
-which I do not like but that's just my opinion-. Here's a sample video
to get started. It lacks form
designer for .NET CF so if you stick
with it you'll use WinForms designer.
C# + .NET CF. It has really good
IDE for .NET CF development. This is
how I rolled for mobile device
development and I'm happy with it.
ie, if I have a problem the huge .NET
userbase most likely has the
solution.

Resources