versus

Smartface App Studio vs. Xamarin (Cross-Platform Native Frameworks)

The objective of Smartface is to make native app development accessible to masses without sacrificing quality. At every opportunity, we emphasize the importance of “real native” quality and performance and that makes “real natives” win over “like-native” hybrid frameworks like Phonegap, Cordova, etc.

Unlike hybrid frameworks, most of which are just the fork of a single product, huge amount of effort is required to create cross-platform native frameworks. Therefore, there are only a handful of cross-platform frameworks that produce real native output.

While all cross-platform native products are praiseworthy, Smartface is here to make cross-platform native development even more appealing and in this article, we would like to explain you the main differences between Smartface and Xamarin. You can also view our comparison with Appcelerator Titanium.

Platform Based Native Xamarin Smartface App Studio
Output Native Native Native
Development Environment Xcode, Eclipse Xamarin Studio or Visual Studio Smartface IDE
WYSIWYG Design Editor iOS: Yes, Android: Partially Partially with “Designer”s Yes
Code Based Design Editor Yes Yes Yes
iOS Development on Windows No No (Workaround available with a Mac on network) Yes
Single Code Base No Only for “Xamarin.Forms” projects (Not free) Yes
Supported Platform iOS or Android Cross-platform iOS, Android, Windows Phone Cross-platform iOS, Android
Development Language Objective-C, Swift, Java C# JavaScript
Adaptation Mobile know-how Specific C# know-how Web know-how
Look and Feel, Sense, UX Native Native Native
UI Responsiveness Smooth Smooth Smooth
Performance Fastest Faster Faster
Extend with custom plug-ins Yes Yes on Roadmap
Community Largest Large Medium
Technical Support Community Community &Inexpensive license packages sufficient for direct support Community & Inexpensive license packages sufficient for direct support
Stability Highest Higher Higher
Security Most secure Secure Most secure (also includes advanced features)
Risk Learning Cost, Operational Cost Dependency Dependency

 

Xamarin offers a different approach to cross-platform native development compared to Smartface and Titanium. It is C# based and unlike JavaScript based Smartface apps, whose code are interpreted at runtime, Xamarin apps are complied.

Therefore, primary differences between Smartface and Xamarin stem from the differences between C# programming and JavaScript programming.

They both produce native output for iOS and Android. Xamarin can also produce Windows Phone output. Yet, because of compiler and interpreter differences, binary sizes are smaller in Xamarin for small projects, but as the projects get larger, the interpreter overhead in Smartface eliminates repetition and binary sizes are smaller in Smartface for larger projects. A related advantage of interpreter structure of Smartface is that it is possible to run JavaScript files from the server. Therefore, app updates can be applied without submitting a new version of the app to the stores. A similar feature is available in hybrid apps, but they are just webpages. Smartface allows this for native apps and this is not possible for platform-based native apps and Xamarin.

The advantage of C# projects over JavaScript projects is that due to the structure of the languages, code checking before build and AutoComplete works more accurately along with XAML support.

Another thing to note is that until recently, Xamarin did not have a single code based offering. It was required to code separately for each platform. For standard Xamarin projects, this is still the case, but there is a new offering called Xamarin.Forms, which allows single code based apps for a specified set of UI controls. It produces high quality native output but its flexibility is yet to be seen (the components are currently limited) and it is not free. Similarly, Xamarin licenses must be obtained separately for each native platform, making costs higher than it initially seems.

Smartface is fully single code based, including the free community edition and the license models are independent of the native platform.

Both platforms have their own IDEs. The advantage of Xamarin is that besides its own Xamarin Studio, it has Visual Studio support and this is an important advantage for target audience of C# developers. However, this is again a paid feature and application design is difficult in Xamarin compared to Smartface.

Smartface is the only cross-platform native framework with a WYSIWYG (What You See Is What You Get) design editor. In Xamarin, you are forced to code your user interface. In Smartface, you may choose to design your app either with drag and drop components, with code or with a combination of both. Xamarin has platform-specific “designer” tools for visual design of apps, but it is not directly translated into working apps. In Smartface, your design appears on any phone/tablet as exactly as you see it on the visual editor.

Moreover, Xamarin does not support iOS development on Windows nor iOS emulator or debugger. If you have a Mac in the same network, you can use Windows to develop iOS apps in Xamarin, but it does not eliminate the need for a Mac and setup over network may be an issue in some network configurations. Smartface is the only cross-platform native framework that supports whole iOS development cycle on Windows.

One advantage of Xamarin is the support for plug-ins to extend you project with native code. This feature will be available in Smartface soon.

Xamarin community is much larger than Smartface community is, but the target audiences are completely different. JavaScript is a more widely known language than C# and it is easier to learn. Therefore, Xamarin is more exclusive than Smartface. Although C# is popular among specific developer groups, it is not as common as JavaScript and might introduce a dependency on expensive Microsoft products, so the potential size of the community is rather limited compared to Smartface and Titanium. For developing with Smartface, web know-how is sufficient, so the potential community is much larger without any dependency on expensive technologies.

Both platforms are highly stable. Smartface cross-platform native framework was developed in closed beta for a long time before making sure that it is almost as stable as the platform-based native frameworks themselves.

We trust our product and there are no app feature limitations in free community edition of Smartface. You can develop fully featured apps with no size or platform limitations, the only requirements are the fixed bundle names and the splash screen, both of which do not affect the functionality of an application. The free edition of Xamarin has app size and feature limitations. Since you cannot predict exactly how large your app may become, you may hit this limit just in the middle of your development, forcing you to upgrade to a paid package. Similarly, in the free edition of Xamarin, you cannot develop with a single code base, so you need to pay first to try the single code base offering.

The free edition of Smartface is free with no strings attached. You can start with the free package that have no app feature limitations whatsoever and you can upgrade to inexpensive packages for direct support.

Therefore, while choosing a cross-platform native framework, we recommend you to consider not just the popularity of the framework, but the flexibility and licensing models as well. We suggest that, with the features that are not available in other frameworks, Smartface is the better choice.

You can check Smartface App Studio benefits and download it free without any feature or app size limitations.