Why should I make my next mobile app in Xamarin? #Part3: Xamarin is free for Students

Here is the long awaited third post of the series that will explain you why it’s conveniente to use Xamarin for application development, especially when you are a student. You can fine here the previous 2 posts:

https://guido1993.wordpress.com/2015/02/23/why-should-i-make-my-next-mobile-app-in-xamarin-part1-xamarin-performance/

https://guido1993.wordpress.com/2015/03/19/why-should-i-make-my-next-mobile-app-in-xamarin-part2-xamarin-forms/

On November 5th 2014, Xamarin officially announced the availability of a free Indie license for any current student. The Indie license allows you to build app an app of any size (even use Xamarin.Forms), but it was missing one thing. The biggest limitation to the Indie license was was that it didn’t allow for the use of the Visual Studio plugin, which meant being restricted to Xamarin Studio for development. The Indie license has a retail value of 300 USD per year, and Xamarin, making it available for free for students hugely boosted their userbase.

As of this week, Xamarin enhanced the Indie license for students to include the Visual Studio plugin. This is great for students, especially since a student can obtain a copy of Visual Studio for free from the DreamSpark program (http://www.dreamspark.com) or just use the free Visual Studio Community Edition. Even though the student license includes the Visual Studio plugin, this does not mean however that it is a Business license. The all the same restrictions still apply besides the plugin. This modification to the license saves users from the hefty $999 price tag.

Below here the link to rapidly compare the Business and Indie versions of Xamarin:

https://store.xamarin.com/

So if you are a student and are anxious to try Xamarin, apply for the free license today by going to https://xamarin.com/student and apply! All it takes is an email address and proof of enrollment to get started down the wonderful path of Xamarin development!

Happy coding! 😉

Why should I make my next mobile app in Xamarin? #Part2: Xamarin.Forms

“Xamarin.Forms is a cross-platform natively backed UI toolkit abstraction that allows developers to easily create user interfaces that can be shared across Android, iOS, and Windows Phone. The user interfaces are rendered using the native controls of the target platform, allowing Xamarin.Forms applications to retain the appropriate look and feel for each platform.”

This is the definition of what currently are Xamarin.Forms, found in the Xamarin website.

What platforms does the technology support?

The very last platform compatibility was announced just today, and in fact it’s still considered an Early Preview.

Xamarin.Forms has been updated constantly, almost weekly, over the last few months, and has been getting better and better over the time. Latest version currently available in nuget is 1.4.0.6341. https://www.nuget.org/packages/Xamarin.Forms/

Xamarin.Forms is a framework that allows developers to rapidly create cross platform user interfaces. It provides it’s own abstraction for the user interface that will be rendered using native controls on iOS, Android, or Windows Phone. This means that applications can share a large portion of their user interface code and still retain the native look and feel of the target platform.

Xamarin.Forms are written in C# and allow for rapid prototyping of applications that can evolve over time to complex applications. Because Xamarin.Form applications are native applications, they do not have the limitations of other toolkits such as browser sandboxing, limited APIs, or poor performance. Applications written using Xamarin.Forms are able to utilize any of the API’s or features of the underlying platform, such as (but not limited to) CoreMotion, PassKit, and StoreKit on iOS; NFC and Google Play Services on Android; and Tiles on Windows Phone. This also means it is possible to create applications that will have parts of their user interface created with Xamarin.Forms while other parts are created using the native UI toolkit.

Xamarin.Forms applications are architected in the same way as traditional cross-platform applications. The most common approach is to use Portable Libraries or Shared Projects to house the shared code, and then create platform specific applications that will consume the shared code.

There are two techniques to create user interfaces in Xamarin.Forms. The first one is to create UI views entirely with source code using the rich API provided by Xamarin.Forms. The other option available is to use Extensible Application Markup Language (XAML), a declarative markup language from Microsoft that is used to describe user interfaces. The user interface itself is defined in an XML file using the XAML syntax, while run time behaviour is defined in a separate code-behind file. To learn more about XAML, please read Microsoft’s XAML Overview documentation on What is XAML.

Why should I make my next mobile app in Xamarin? #Part1: Xamarin Performance

In this series of articles we are going to deeply analyze why it should be convenient for you (or not) developing a Mobile App using Xamarin.

One of the main doubts that is often raised by anyone I speak about Xamarin with is about the app performance.

I found an interesting in-depth review which analyses the differences between Xamarin’s Android and Java Android performance, as well as the differences between iOS native code and Xamarin’s iOS.

This is the test which involves Java (Android):

1-D89UbmzTJQ063oO7Wts_BQ

And this is the test that puts in comparison iOS native code and Xamarin’s C#:

1-yBr7maTbrt4NpTh5OjU8aA

In both case Xamarin is able to almost match the performance granted by the native platform itself, and frankly that’s quite awesome considering that Xamarin is still a young platform and has a lot of space to grow in the near future. In a few cases Xamarin even outperformed the native platform.

You can find the detailed performance comparison here: https://medium.com/@harrycheung/cross-platform-mobile-performance-testing-d0454f5cd4e9

And the github repo with the code used during the test here: https://github.com/harrycheung/Mobile-App-Performance

See you on the next post, and happy coding! 🙂

New video shows Windows 10 for phones features

As you should already know, Windows 10 for Phones was released today for a small amount of phones. These are:

  • Lumia 630

  • Lumia 635

  • Lumia 636

  • Lumia 638

  • Lumia 730

  • Lumia 830

In case you don’t own any of these device or don’t want to risk the daily usability of your only Lumia phone, you can watch a video below here which shows the main capabilities of the just released Windows 10 for phones 🙂

Happy watching 🙂

Xamarin.Forms updated to 1.3.3 :)

This evening Xamarin Forms, the best tool offered by Xamarin to build native UIs for iOS, Android and Windows Phone from a single, shared C# codebase, picked up an update which bumps its version number up to the 1.3.3 version. You can find a detailed changelog at this link:

https://www.nuget.org/packages/Xamarin.Forms/

or just below here 🙂

Release Notes

## Enhancements ##

– Deeply nested Grid performance enhanced

## Bug Fixes ##

– [Bug 21606](https://bugzilla.xamarin.com/show_bug.cgi?id=21606) – Page Title not updating when set in OnAppearing() Method the second time page is displayed. (iOS)
– [Bug 20798](https://bugzilla.xamarin.com/show_bug.cgi?id=20798) – ListView TextCell.DetailProperty only wraps on Android
– [Bug 24777](https://bugzilla.xamarin.com/show_bug.cgi?id=24777) – jobject must not be IntPtr.Zero exception when replacing Content of a Page
– [Bug 26214](https://bugzilla.xamarin.com/show_bug.cgi?id=26214) – On Android, InputTransparent=true does not work with ScrollView
– [Bug 22673](https://bugzilla.xamarin.com/show_bug.cgi?id=22673) – Initially hidden BoxView when made visible does not render (but does take up space in the UI)
– [Bug 25703](https://bugzilla.xamarin.com/show_bug.cgi?id=25703) – Webview waits to load the content until webviews on previous pages are loaded
– [Bug 26139](https://bugzilla.xamarin.com/show_bug.cgi?id=26139) – Navigation.RemovePage() still shows the back button on Android
– [Bug 26304](https://bugzilla.xamarin.com/show_bug.cgi?id=26304) – System.ArgumentNullException thrown when moving items in an ObservableCollection that is observed by a ListView
– [Bug 26064](https://bugzilla.xamarin.com/show_bug.cgi?id=26064) – ListView, ImageCell and disabled source cache and same image url leads to degraded performance
– [Bug 26121](https://bugzilla.xamarin.com/show_bug.cgi?id=26121) – Android ListView.ScrollTo doesn’t work when ListView inside TabbedPage
– [Bug 26501](https://bugzilla.xamarin.com/show_bug.cgi?id=26501) – Context Actions cause views to be hidden on iOS after re-use
– [Bug 23585](https://bugzilla.xamarin.com/show_bug.cgi?id=23585) – [Android] ListView not updated when ObservableCollection is modified

## Other Fixes ##

– [Core] CarouselPage now has more informative error when used without Children
– [Android] BoldItalic text now works as expected
– [Android] HeaderCells no longer tapable in TableView
– [Android] Fix NullReferenceException when re-using ListView on second page
– [iOS] SearchBar cancel button hides if there is nothing to clear
– [iOS] EntryCell Completed event fires twice
– [iOS] Fix potential crash with Editor inside of a ScrollView
– [iOS] Fix potential crash when ScrollView is inside of ViewCell
– [iOS] Fix issue where ContextActions could end up out of order
– [WP] Keyboard action for search does not match other platforms
– [Xaml] Text as content property now properly trims whitespace
– [Xaml] Duplicate x:Name’s throw a more informative error now
– [Xaml] Better error on Type mismatch for

Update it asap and tell us if anything improved in your everyday Forms coding! 🙂

Wolfie Keyboard updates to 2.0.2.0! Chinese localization and more!!

Good morning 🙂
I am glad to annouce that my main Windows Phone app just picked up an update that bumps the version number to 2.0.2.0.

Wolfie is the best free WolframAlpha client on the Windows Phone store, so far!

Download link:

http://www.windowsphone.com/en-us/store/app/wolfie-keyboard/b5a5ac4a-ac47-43db-a8f8-1182e4ebc033

Here is the full changelog:

* Added Simplified Chinese localization
* Minor bug fixes
* Added ADs support in order to help development (hope the small banner won't bother you much, I am going to implement a free way to remove it soon). More awesome features incoming, stay tuned! :)

And the reddit discussion link:

http://www.reddit.com/r/windowsphone/comments/2u28mo/wolfie_keyboard_wolframalpha_free_client_updates/

Have a nice day, and update it asap! 😀