coding

5 Reasons Why Smartface is Unique in Native iOS and Android Mobile Application Development

There are many different mobile application development platforms (MADP) are out there and we frequently come across the question why Smartface is unique among all other MADPs and why Smartface should be chosen over the others.

In this article, we elaborate the unique features of Smartface. There are already many things that Smartface does better than the others, but there are certain features that even platform-based native (Obj-C/Swift/Java) frameworks do not have.

We believe that taking these features into consideration would greatly assist your decision making process to select the right mobile application development platform for your needs.

 

  1. Smartface is fully native with the JavaScript engines of the operating systems:
  • What separates Smartface from other native development platforms is that Smartface uses the operating system’s standard JavaScript engines, Google V8 on Android and JavaScript Core framework in iOS, not a custom JavaScript framework that requires learning a new subset of JavaScript.
  • Unlike “hybrid” or “native-like” platforms, the apps developed with Smartface only use native objects.
  • Thanks to the unique architecture of Smartface, JavaScript code can interact with native objects both in UI and system level.Standard JavaScript knowledge is sufficient to develop native apps and any JavaScript code that doesn’t depend on DOM can be used in Smartface.

 

  1. Smartface is one of few cross-platform native platforms with a real What You See Is What You Get (WYSIWYG) Editor:

Considering the fact that 50% of mobile developments efforts account for UI development, the unique WYSIWYG editor of Smartface provides a huge productivity advantage while providing a fully native design.

The commonly observed issues with other platforms can be outlined as follows:

  • Some platforms only support UI design by coding, which might be burdensome if you are developing an app with a complex UI or if you are not experienced with the development language.
  • Some platforms offer some sort of a “design editor”, but these editors are used only for facilitating UI development with code. The design shown on the editor is not consistent with what will be shown on real devices due to the device fragmentation.

 

Smartface has the following powerful features that differentiate it from other MADPs:

  • Smartface offers a real WYSIWYG editor for native UI development, which is not even fully available in Java based Android development.
  • With the rule-based, easy-to-use drag & drop design editor, the design can be previewed as it will be displayed on different devices (e.g. phones or tablets).
  • There is minimal need for adjustment for different screen sizes and resolutions and the design appears exactly as shown on the editor with no coding required for standard UI development.
  • Moreover, for advanced implementations and remotely updated apps, Smartface supports code based design as well, meaning that the developer is not limited to a single UI development option. Full UI of a native app can be developed with JavaScript code. The combination of different approaches is also possible. Static design made with the design editor can be extended with dynamic design by coding and vice versa.

 

  1. Smartface is the only platform that can be used to update native apps remotely (on-the-fly native app update):
  • With the power of JavaScript and the ability to develop the full UI of an app dynamically by coding, you can update your native apps remotely.
  • Some platforms offer textual contents of the app to be updated only, but Smartface is different, you can update any layer of the app: UI, BI, logic, networking, etc. securely and without any performance loss, due to the fact that the remote code is interpreted exactly the same way with local code.
  • For apps distributed in enterprise channels, this allows unlimited ways of managing the app without republishing every time.
  • Since the system JavaScript frameworks (specifically, JavaScript Core for iOS) is used in Smartface, remote update feature can also be used for B2C apps, if the updates are within reasonable limits.
  • This means that no more waiting for app review processes for critical and urgent updates like bug-fixes or making sure that all apps in the field are connecting to the latest version of the backend with the latest connectivity parameters.
  • This feature is not even available in platform-based native (Obj-C/Swift/Java/.NET) frameworks due to the nature of the development languages.

Smartface is the one and only platform that allows remote updating of complete native iOS and Android apps.

 

  1. All the layers of a native app are single codebase in Smartface:
  • There are many platforms that claim to be single codebase, but such claims might be covering just a portion of the app.
  • Usually, the UI layers are separate for different target environments and these layers should be coded separately without any UI development facilitator tools. Some platforms provide single codebase of the UI only for some specific use cases with special tools.
  • With Smartface, however, all the layers of an app, including the UI layer, are single codebase.
  • It doesn’t matter if you develop your UI with code or with the WYSIWYG design editor, both of them are single codebase.
  • Design and develop your app once in Smartface and deploy to multiple types of OSes and devices.
  • Smartface handles it all, not just platform differences between iOS and Android but also OS version differences (e.g. between Android 4 and Android 5).
  • What’s more is that if an element, property or event is not available for one OS, Smartface provides a compatible version of that missing feature for the specific OS (e.g. onDragOutside event is only available for native iOS but Smartface supports this event in native Android as well).
  • As for more advanced implementations, Smartface supports different development patterns like MVC for universal application development.

In that sense, “Is it single codebase?” is an incomplete question. For selecting the right cross-platform mobile application development platform, the right question should be “Are all the layers, including the UI and logic layers, single codebase?”

Smartface can answer this question as “Yes”.

 

  1. Smartface is enterprise-focused and it is developed for enterprises with enterprises:
  • There are only a few mobile application development platforms that are suited to meet enterprise needs.
  • Offering a mobility solution in an enterprise setting is a challenging task as it requires achieving the delicate balance between meticulous requirements of enterprises and the dynamism of the mobile world.
  • Smartface is able to achieve this as it has been developed for more than 3.5 years in closed beta with select enterprise users.
  • Smartface was released to the public only after it is deemed to be mature enough to meet the needs of the market instead of wearing out the market with an inadequate product as experienced with some other platforms.
  • Smartface takes the enterprise focus one step ahead of other platforms and engages with its enterprise community actively to shape the platform according to their needs and to share best practices across industries.
  • This distinctive synergy allows enterprises to adapt to the mobile world much quicker with Smartface than other platforms, while making Smartface to become even more mature than its counterparts.
  • Smartface is
    • Secure with advanced security features and built-in plugins
    • Flexible with its native plugin engine
    • Productive with enterprise connectors and single codebase structure
    • Convenient with offline operation and syncing capabilities

 

There are even more reasons to choose Smartface. You can explore them on our Why Smartface page and you can contact us for any questions regarding the selection of the right mobile application development platform. We are more than happy to assist you in your mobility journey.