I just created the Movie DX app, a weekend project made in Xamarin.Forms using Prism, in order to get started, practice and show the performance of this framework and the new changes in Xamarin.Forms. For this project I used a few components/libraries: TheMovieDB API, to get Movies info. Prism for Xamarin.Forms, a very cool framework with great features that allows you to create apps easily. Corcav.Behaviors, I found this library very useful to handle commands. SQLite.Net-PCL, to store user and movies info locally. FFImageLoading, a very amazing library to load images quickly, very customizable to improve memory consumption, some effects, etc. Newtonsoft.Json Modernhttpclient The Application is divided in 5 projects, MovieDX.Core , this project contains all the logic and implementation to connect to TheMovieDB API , in order to get all the movies information. MovieDX.Forms , this project contains all the Data Access implementation where I’m using a Generic Repo
- Other Apps
Before start creating a Mobile Application there are a lot of considerations that we have to think about, there are some options that we can choose to start developing our app, but the first question is: Native or cross-platform? but even in cross-platform there are some options, the Native and the Hybrid cross-platform development, the truth is that users prefer Native apps over the Hybrid (websites packaged into a native wrapper), if you want more info about this debate Native vs Hybrid . In this post we are going to focus only in Native mobile development, so lets get started. Native Native Apps are build using tools, SDKs and their specific programming languages which are supported by a particular mobile OS, e.g. Android - Java, Windows Phone/UWP - C#/VB.Net/C, iOS - Objective-C/Swift. These Apps are built from scratch with the intention of operating on their designated platform. Pros High Performance Code optimized for OS Native UI (Flexibility) Direct Access to all APIs Very resp
- Other Apps
What is Xamarin and why should I use it? Xamarin is a framework or a set of tools that enables developers to create mobile applications for the major platforms out there, iOS, Android and Windows Phone using using only one code base or, one programming language, in this case C# and of course the .NET libraries. So, on each platform, the developer can use directly all the native APIs and UI controls that are made available by the underlying operating system and hardware. Traditional mobile development either requires separate codebases for each device, or your app can be built to run via the web browser. The issue with the first approach if you are a developer is that you to know Objective-C or Swift for iOS development, Java for Android, and C# for Windows Phone. The issue with web browser apps on mobile devices is that they don't run natively. The UI doesn't match the familiarity of the device, and performance can also be an issue as you are not using native code.