Enterprise App Development – Ext JS vs Xamarin

The choice for the technology framework has never been easy, specifically, when the things are continuously changing to make programming easier and preferably redundant. There are a number of vendors competing with each other and then you have the amazing open source community spicing up the offering. It becomes imperative to decide the right technology, which exactly meets your mid-term as well as long-term goals and of course, helps you save the significant amount of time and money.

At Walking Tree, we primarily use Ext JS, Angular JS and Xamarin to cater to the UX need of our customers. In this article, I will be comparing two commercially supported framework. Of course, I have made certain assumptions and this comparison holds good in that context only.

Assumption

  • The business need is to look for an effective solution which will enable them to create enterprise level mobile applications with
    • significant lifetime
    • major code reusability
    • low support and maintenance
    • easily available development support
  • Native Application Development using iOS, Android or Windows phone specific SDKs are not being considered
  • The choice is between Xamarin (closer to Native) and Sencha Ext JS 6 (based on HTML 5)

Comparison

The following section shows the comparison between Ext JS and Xamarin by considering various factors relevant for deciding about the framework. The comparison where content has been highlighted (in bold) shall be considered as an advantage for that specific platform.

Licensing and Costs

Feature Ext JS (modern) Xamarin
Licensing GPLv3

Paid

Paid
Licensing Bundle Minimum 5-user Per developer per device
Cost 1.5K+ USD per developer for the premium subscription

895 USD for the standard subscription

999 USD per developer
Exists Since 2007 2011
Further Relevance Sencha Touch was added in 2010 and Ext JS 6 enables mobile application development as well Mono open source project was launched in 2001

Support

Feature Ext JS (modern) Xamarin
Forum Yes Yes
Tickets Yes Yes
Feature Requests Done over a dedicated forum Yes

Feature requests can be submitted here

Professional Services Yes Yes
Professional Services Partner Around 20 across the world More than 200 consulting partners

Features

Feature Ext JS (modern) Xamarin
Architecture MVC

MVVM

.Net architectural patterns
Designed for mobile apps Yes Yes
Device feature integration Using Apache Cordova Native API bindings are provided
Different From-factor support Yes Yes
Widgets Yes.
However, they are not platform specific. Using the platform specific theme, you may give them a native look-n-feel
Yes
Xamarin.forms controls and they are mapped to native controls at runtime
Working with data Rich and exhaustive data package covering all aspects of data handling Yes
Charts Sencha Charts package is used Various charts Components are available from Xamarin and its partners
3rd party integration Not great so far.
Sencha Market may have some of these extensions. However, the extensions published there are not maintained and certified by Sencha. Also, finding support for those extensions could be a challenge.
Rich Xamarin Component Store and via Nuget.  Third Party vendors like Telerik have a component suite as well
Platforms support Android

iOS

Windows Phone

Blackberry

Tizen

Modern browsers

Android

iOS

Windows Phone

Mac

Apple Watch

Design & Prototyping Tools Sencha Architect Designer for iOS, Android, and Apple Watch

Coding

Feature Ext JS (modern) Xamarin
Code JavaScript, HTML5, CSS C# & F#
Code portability across platforms Any browser that supports JavaScript, HTML5, and CSS iOS

Android

Windows Phone

Apple Watch
Still 100% native

Code Reuse Almost 100%
Using configurations, control responsiveness, and look-n-feel across different platform and different devices
About 20% to 30% code need to be duplicated depending on whether or not Xamarin Forms is used.

Xamarin.iOS and Xamarin.Android allow greater flexibility in UI design at the cost of adding redundant code.

Unit Testing Jasmine – free

Siesta – commercial

Xamarin Studio

Xamarin.UITest, NUnit. Visual Studio Unit tests

Run time code generation Yes Limited.

Not available on iOS due to platform restrictions

Development Tools JetBrains IDE

Sencha Cmd

Sencha AppInspector

Xamarin Studio

MS Visual Studio, Visual Code, Omnisharp

Compilation Interpreted Code Ahead of time compiled to ARM, x86, x86_64 platforms on iOS. JIT on Android Better performance!

Build and Packaging

Feature Ext JS (modern) Xamarin
Build tools Yes
Sencha Cmd
Yes
Xamarin Studio, Visual Studio, MSBuild
Native packaging Yes
Sencha Cmd + Cordova
Yes
Xamarin Studio/Visual Studio

Testing

Feature Ext JS (modern) Xamarin
E2E and functional testing Yes

Jasmine – free

Siesta – commercial

Yes

Xamarin Test Cloud

Automation testing Yes
Can use Selenium or any Web application testing framework
Yes
Xamarin.UITest
Integration with CI tools Yes
The test scripts can run in headless mode with Hudson, Jenkins, Travis, and other CI tools
Yes
Xamarin Test Cloud works with Jenkins, Team City, Team Foundation Server, and Visual Studio Online
Cloud based testing No default integration available.
However, cloud platform like Perfecto can be used for testing
Yes
Xamarin Test Cloud
Trace and debug, analyze No Yes
Xamarin InsightsProfilerInspector
Deployment options No
The built package needs to be published to the App stores, manually
Can be published to stores from their IDE
Application Management & Monitoring Sencha Web Application Manager Xamarin Insights

Resources

Feature Ext JS (modern) Xamarin
Documentation API Docs is very good API docs is very good
Demo, Examples Exhaustive demos and examples available, online Tonnes of practical and complete samples/apps available online
Articles, Blogs Yes Yes
Videos Yes Yes
Other Learning Resources SenchaTutorials,

Sencha Training Courses – online & onsite

Xamarin University has an exhaustive list of courses
Learning curve Steep
Proper training is required
Easier
Steep for non C# developers. Existing Android and iOS developers will find interpreting code easy.

Conclusion

Xamarin and Ext JS are excellent options for development when there is significant work involved (several months of effort) in an application and the application is supposed to be maintained for a longer period.

Xamarin is a great choice if

  • We don’t have to create the web application with same/similar functionalities
  • There is a lot of logic involved in a front end and the presentation layer is relatively thinner
  • The performance of the native APIs is critical for the success of the application. While it is not purely as native as ObjectiveC, it is better than Phonegap / Cordova based access of device APIs.

Ext JS is an excellent choice for developing web / mobile applications if

  • The web application is equally important as the mobile application. Specifically, if the web application already uses Ext JS
  • You want to develop a mobile application based on HTML5 capabilities

Summary

I hope this article helps you in deciding which framework will be suitable for you in your next mobile application development. Walking Tree is Xamarin partner as well as Sencha Partner and we know that these two frameworks exist for two different kinds of audiences. Also, they don’t claim to compete with each other. Hence, you do need to understand your requirement clearly and you must assess your available resources/constraints and mention them clearly while deciding on these frameworks.  Both frameworks are going through continuous changes. These comparisons may keep changing. Hence, it is advised that you shall seek professional help to reach the final conclusion.

If you need any support in identifying the right technology or implementing the solution then do contact us. We help you build end-to-end solution/product.

Related Posts

Comments (3)

Excellent Post Alok..!!, with in-depth analysis of technologies, it really helps to take decision on technology selection based on the business need

awesome!

Wow, this is very interesting! Your thoughts have brought the topic to limelight. Thank you for sharing it. You might want to read this also: https://goo.gl/dUR6Zr I look forward to more articles based on this topic. Thank you again.

Comment to Ajit Kumar Cancel reply

Privacy Preferences
When you visit our website, it may store information through your browser from specific services, usually in form of cookies. Here you can change your privacy preferences. Please note that blocking some types of cookies may impact your experience on our website and the services we offer.