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 along with end-to-end lifecycle management.
In this article, we would like to explain you the main differences between Smartface and Xamarin (Microsoft).
|Mobile Application Development|
|Technology/Scope||Cross-platform native||Cross-platform native|
|Look and Feel, Sense, UX||Native||Native|
|Single Codebase||Yes||Yes (Xamarin.Forms only)|
|Supported Platform||iOS and Android Native||iOS, Android & Windows Native|
|100% iOS & Android
Native API Access
|Advanced Native Platform Support||No (through plugins)||watchOS, tvOS, Android Wear, Game Development & macOS (not single codebase)|
|WYSIWYG Design Editor||Yes||No – Xamarin.Forms (previewer),
Yes – non-single codebase Xamarin.iOS and Android
|Real-time Development Collaboration||Yes||No|
|Wireless Deployment and Instant Update to Real Devices||Yes||Yes (in alpha phase, some app features are not supported)|
|iOS Application Development and Signing without a Mac||Yes||Partially (only for development certificates, not for distribution)|
|Works on any Environment and OS without any Setup||Yes||No|
|Extend with Plugins||Yes||Yes|
|Mobile Application Lifecycle|
|Integrated Cloud Environment for App Lifecycle||Yes||Partially|
|Update Native Apps Skipping App Store Submission (Hot Deployment)||Yes||No|
|Testing Automation for
|With 3rd party tools||Yes|
|Next Generation No-Ops Approach||Yes (All modules are fully integrated, no need for configuration and CLI)||No|
|Crash Analytics and Bug Reporting||With 3rd party tool
(integrated with Fabric.io)
|Enrollment-free Enterprise App Store||Yes||No (MDM tool available)|
|Build for and Submit to App Stores without a Mac||Yes||No|
|Single-Link Distribution for Store Apps||Yes||No|
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 an offering called Xamarin.Forms, which allows single code based apps for a specified set of UI controls.
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 still requires a serious installation and update effort.
With Smartface, you can start mobile development instantly without any setup, just in your browser, fully independent from platforms.
Smartface also has a single codebase WYSIWYG (What You See Is What You Get) design editor with full source code generation. In Xamarin.Forms, the single codebase offering, there is only a design previewer, which requires XAML for UI development.
Moreover, Xamarin does not support iOS development on Windows (or Linux for that matter). 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.
Both platforms are highly stable. Smartface is a next generation cross-platform native framework developed for enterprises with enterprises and it is almost as stable as the platform-based native frameworks themselves.
From an enterprise perspective, development is only one part of the mobile application lifecycle. Since Xamarin has been developed from a community perspective until Microsoft acquisition, it is still in a transition phase to a full enterprise focus. On the other hand, Smartface has been developed for enterprises in mind.
In terms of mobile application lifecycle management, both platforms offer comprehensive tools, however Microsoft’s lifecycle management offerings are brought together by combining different tools and not built with integration in mind from scratch. For this reason, the environments are not fully integrated and depends on a CLI tool for some workflows.
Smartface has a fully integrated and seamless lifecycle management environment in the cloud. There are no upload or download operations for application binaries from development to store deployment. This brings in high productivity.
Tools provided by Microsoft are focusing on automating certain parts of the DevOps processes; whereas Smartface as a whole focuses beyond DevOps, to a “No-Ops” approach where no setup or intervention is required from development to distribution.
And the last but not the least is that Microsoft doesn’t have an enrollment-free enterprise app store, meaning that MDM required for in-house app distribution, which is not viable especially in B2B or BYOD (bring your own device) use cases. Smartface Enterprise App Store does not require an MDM solution and can be used instantly from the cloud.