Realm Support for UWP - database

I am working on a windows 10 app, and I have to store data locally, but I am new to Entity Framework, So kindly suggest me which database technique should i use for storing data locally?
Also please someone let me know if Relam supports windows 10 apps for UWP?
Thanks in advance.

Update: Realm released UWP support.
Check the announcement here: https://news.realm.io/news/realm-mobile-database-for-universal-windows-platform/
Old answer:
There an Issue, realm/realm-core#2059, discussing this topic. So far it's not solved, it seems you're not the first one asking Realm to support UWP. Xamarin is supported, though.
So there's no support right now for the Universal Windows Platform on Realm. Encryption, multi-process support and ARM support seem to be the biggest issues stopping this platform to be supported.

I'm the author of MarcelloDB, which is an object database built to be used / embedded in apps.
It supports UWP and Xamarin(iOs and Android), most of the code is written in a portable class library, so you can port your code across the different platforms easily as well.
It allows you to store plain C# objects (incuding child properties, lists and collections)

Related

how to port existing wpf desktop apps to Windows 10 universal apps

So I have an existing windows desktop application which is written using WPF. I searched through the net for possible ways of upgrading it to Windows 10 universal app but cant seem to find anything on this upgrade path. There are documentation available to port WPF desktop app to WinRT (which according to my understanding is no same as Universal platform) but nothing on this topic.
This link https://msdn.microsoft.com/en-us/library/windows/apps/dn751495.aspx
shows up options to "Port your app to the Universal Windows Platform (UWP)" but doesn't mention anything for this upgrade path.
So I am curious if this is even possible? If yes, are there any documentation or examples to follow? If no, why?
Thanks in advance!
You cannot upgrade a WPF app to a Windows 10 Universal app, because those are very different platforms.
Both have capabilities and markups that doesn't exist or have an equivalent in the other.
So there is no "simple" upgrade path, you would have to rewrite a lot of UI but you can maybe reuse the "business" part if it's written in a Portable Class Library.

Porting / Convert Windows Phone App (Silverlight) to Universal App

I am new for this side.
I wonder if it's easy to make the portability of a windows phone 8.1 application for a universal app?
What is the easiest way to do it?
thanks
There is a free tool that helps alot with the conversion. Check out this page http://www.mobilize.net/silverlight
if this link fails try googling Mobilize.NET Corporation and the file installer is named MobilizeNetSilverlightBridge.msi
You are going to have to do some porting of code, not all API's available for 8.1 are available in Universal Apps as yet.
The easiest way to achieve maximum code share is to add another project to your solution that targets Universal. When you have done this, I would then add a another project to your solution of type "Portable Class Library (PCL)" that can be shared between the 8.1 app and the universal app (as well as Xbox, Android/iOS with xamarin should future requirements need it). You can then move/refactor/port as much of you 8.1 logic into the PCL as possible. This approach should mean maximum reuse of your business/service/data code.

Can I use Entity Framework or Linq To SQL with Windows 8 Metro Style apps?

I'm looking for some kind of ORM that can be used with Metro Style apps. I found lots of posts referring to different SQLite implementations that seem to be working (or not, according to other posts) with Metro style apps, but no working sample projects so far showing an ORM on Windows 8 Metro. Other posts are referring to projects that might work, but not pass the Marketplace certification because of forbidden API calls.
Lots of the information I found is probably outdated, so I'm not sure if i even googled this right.
Has any of you managed to get some kind of ORM up and running in a Windows Metro style app? If possible, I'd like to use EF Code First, but I'm growing desperate, so I'm not too picky.
Thanks for your suggestions,
Adrian
I'm currently using SQLite on a C# Windows 8 Metro App using the code from an experimental branch as explained by Tim Heuer in this post (there's also a video), and it is working great, and it will pass the store certification (Tim Heuer also mentions it in the post).
It is not Entity Framework, but it is the best we have available so far for working with local databases.
Other alternatives:
IndexedDB (It's an HTML5 feature, so it is only for HTML5 apps)
SQLite - AFAIK it works, but doesn't pass the store certification yet
WinRT File Based Database - Interesting, though not as performant as SQLite
Siaqodb - Interesting. Didn't test it yet
Sterling NoSQL OODB - Doesn't support WinRT just yet, but should not be difficult to port... I expect a release soon. It is NoSQL, though.
As Ladislav says, it is currently not possible. You can, however, use WCF Data Services (OData) on the WinRT platform. For more information, see Phani's post on Developing Windows 8 Metro style applications that consume OData.
As far as I know it is not possible because .NET for Metro doesn't even have System.Data namespace and all required classes for accessing databases.

Is silverlight the right choice of technology for enterprise applications after Microsoft's comments in PDC 2010

We were beginning to start on an enterprise application using silverlight.
However after reading this post we doubt whether it is the right choice going forward.
The post says that, according to
Microsoft's declaration in PDC 2010,
Microsoft has changed their strategy
regarding silverlight and they no
longer view it as their technology to
deliver cross platform applications.
Instead they are targeting silverlight
as their development platform for
Windows phone 7.
Is this correct? Should we still continue with silverlight or go back to ASP.NET WebForms\MVC?
The Scope of the application is basically intranet with Windows 2008 servers and Windows XP and Windows 7 clients. However a subset of functionality needs to be available to the external users over the internet. There we cannot have any restrictions on what OS users can use.
based on the info you gave, I can't conclude whether silverlight is the way to go. But what I do know is that a number of Microsofties wrote some blogposts about the things said about Silverlight on the pdc. For example John Papa, Bob Muglia and Scott Guthrie.
Update about the scope
I think you already gave the answer when you described the scope of the application. A part of the application will be available to external users and you cannot have any restriction about the OS they are running. With that requirement I think Silverlight is not the best way to go. Not because the rumours about its future but because of its platform indepency. What are the reasons not to go for a ASP.NET/web solution? Silverlight doesn't work on each OS whereas plain HTML will work everywhere. (ok you need a descent browser)
Although for a good advice I'd need more information about the application.
Basically the question you have to ask yourself is this: do you need your application to be used on every platform, i.e. Windows, Mac, Linux, misc. flavors of Unix, IPhone and other mobile platforms?
If that's the case, then a web based solution is the way to go.
If Windows, Mac and partially Linux is enough, then save yourself and your team a lot of pain and use Silverlight.
In my opinion support for mobile clients is the key factor in your decision.
For sure the right platform for Intranet, Enterprice applications Is Silverlight. It is
stable, performs extreamly well, the environment and the development time is huuge less than web application development, the end User Experience is much better and so on and so forth... Once you want to show part of the system out the the intranet - just create some specific target modules that will address the needed audince. You won't have the universal "Reachfull" solution, that will target everyhing, you'll always need mobile versions or other devices and so on. But once you've built your project the right way with Services (same services that the Silverlight app will consume), it'll be easy job to consume them with new UI.
Hope you will choose Silverlihgt.
Silverlight is a great technology, but the Microsoft does not develop it anymore. So as a technology is a great decision. But if you want to make a Silverlight app usable on a NOT supported platform (e.g. Android or iPhone) you have to use 3rd party services. For example http://sl2html.com

Are ActiveX applets dead?

Are ActiveX applets as a technology supported by Microsoft dead?
What are the alternatives to ActiveX to create extremely rich internet applications using Microsoft Technologies? (Silverlight does not cut it for me, as it doesnt give me access to serial ports - or does it?)
You can of course still make ActiveX applications, but know that they will only work with Internet Explorer, unless users of other browsers install hosting plugins, that aren't all that good anyway.
In either case, a web application that requires access to a serial port? Are you sure you're not better off with a desktop application instead? A simple refresh and you've cut off that serial port.
Not all applications belong in the browser.
If you want to launch an application via a web browser that can access the serial ports, one option would be to use Java Web Start with JavaFX as the rich interface API, and Java Communications for the serial port access. You could end up with a cross-platform application at the end as well.
Or just write a native application using your favoured Windows toolkit if you absolutely are restricted to using Microsoft tools.
ActiveX as technology is very much alive, and will remain for many years to come. But its usage for Internet is dead. ActiveX is to be only used from within windows stand-alone applications.
ActiveX as of 2015 is a dead technology that even the maker is no longer interested in continuing to use it. Here is something to read.
No, Silverlight is designed from the ground up to be completely sandboxed, no way to bypasss that (thank god).
If you need that kind of access, but are looking for an easy deployment, I would suggest building a Clickonce application.
There are restrictions, because I think by default they are not full trust, but that's the best you will get.
It's also going to be the only easy route if you need printing (unless you are willing to round-trip to a server to generate a PDF file).
If you need direct access to some hardware (like for a POS software with cash drawer, receipt printer etc), you need to go "desktop". Clickonce can give you some deployment options, XBAPs can give you the "browser experience", but you are going to have to make compromises based on what your "hardware access needs" are.
EDIT:
I didn't notice the Silverlight exclusion in the original question. My comment it not really applicable. Sorry!
I don't know that I would call ActiveX dead just yet, but I would be cautious if you are planning to build an application based upon this technology. My recommendation would be to use Silverlight. This provides much of the functionality that is commonly desired in ActiveX controls, but uses the newer .NET technologies.
There is alot of talk about using Silverlight for media playback, but it has many powerful feature that can also be used to create Line-of-Business applications as well. In fact there is a great podcast episode on DotNetRocks that discusses this exact subject.
Here are a few more links that might point you in the right direction:
Microsoft Silverlight Getting Started
Silverlight 2 and a Glimpse of Silverlight 3 by Scott Guthrie
To the best of my knowledge, Silverlight 4 still doesn't give you direct access to serial ports, but it does give you access to any local web cam and microphones now. You could presumably also run Silverlight 4 out-of-browser, which gives you access to COM objects, and you could write a quick-and-dirty COM object which wrapped serial port access. That said, I also agree with what folks said above about not all applications belonging in the browser.

Resources