Saturday, December 26, 2015

Mobile Apps Development Toolkits

Mobile Apps Development Toolkits
When it comes to mobile app development technology, you need decide what type of app works best for you:
  1. Native,
  2. Hybrid or
  3. Web
For all such type of Mobile Apps, various toolkits are available of such type.
1). Native toolkits:
Native toolkits are ‘native’ to a specific platform:
  • Apple’s iOS,
  • Google’s Android,
  • Windows Phone or
  • BlackBerry OS (decreasingly)
Apple’s iOS: 
Language - Objective-C
Apple Xcode (iOS): 
  • Apples full featured development environment lets you create mobile apps as well as desktop applications.
  • Xcode comes with integrated support for Git source-code repositories, graphical editor to build user interfaces, instrumentation and debugging tooling and integrated documentation.
  • You need Mac OS X to run XCode
  • XCode is free of charge.
  • Jetbrains, creator of IntelliJ IDEA, also offers an Objective-C development environment.
  • Just like their Java IDE, AppCode comes with elaborate refactoring capabilities, on-the-fly code analysis, debugging and more.
  • You can download a trial version or buy licenses from $89.
Google’s Android:
Language - Java
Android Studio (Android): 
  • Also based on IntelliJ IDEA, there is Android Studio.
  • Android Studio contains Gradle build support, Lint tools, Pro-Guard app-signing tools and template-based wizards for common application components.
(Gradle is another build system that takes the best features from other build systems and combines them into one. It is a JVM based build system, that means is that you can write your own script in Java, which Android Studio makes use of. One cool thing about gradle is that it is a plugin based system. This means if you have your own programming language and you want to automate the task of building some package (output like a JAR for Java) from sources then you can write a complete plugin in Java or Groovy, and distribute it to rest of world.)
  • With the help of the Android Developer Tools (ADT) plugin, Eclipse gains full support for Android app development.
  • Besides offering Android-specific coding support, ADT lets developers use various on-device debugging tools, a graphical UI builder, emulators or fully scriptable test automation support.
  • The ADT plugin is free.
  • Xtend is a Java dialect which compiles to Java source-code.
  • Include generation features let developers create applications for the Android platform without the need for boiler-plate code.
Windows Phone:
Language: C# or VB.NET languages
  • Microsoft offers a variant of Visual Studio for developing Windows Phone applications with .NET.
  • Visual Studio Express offers approved Visual Studio functionality together with Windows Phone specific tooling like a graphical UI builder or phone emulator.
  • There is a 90-day trial version of Visual Studio which can be run on Microsoft Windows 8 (x64).
Windows Phone App Studio (Windows Phone): 
  • Windows Phone App Studio is an online service designed to create Windows Phone applications without the need to write actual code.
  • It is based on a selection of pre-designed application templates, widgets and data-sources.
  • Apps can easily be downloaded onto a local device or published on the app store.
  • After creating an app online on the website, App Studio generates code which can be further edited by developers.
  • App Studio is free to use.
Cross-Compilation & Generating
  • Developers can write their applications in Objective-C for iOS and cross-compile them to Android with Apportable.
  • Apportable does not use any virtual machines or emulator but generates native machine code for Android devices.
  • A limited set of functionality can be used for free, full feature sets must be purchased on a yearly basis.
  • Like Apportable, Xamarin lets developers create applications for multiple platforms with one code base.
  • Apps can be written in C# and are cross-compiled to native Android or iOS binaries.
  • It is even possible to use device specific APIs and functionality from within C# code.
  • Besides a free starter plan, Xamarin must be licensed on yearly basis.
2). Hybrid Frameworks & Runtimes
Language – HTML5
  • Apache Cordova is an open-source framework to run HTML/JavaScript based applications inside a special native container on the mobile device.
  • Native device functionality is exposed via JavaScript APIs and HTML based applications can thus access device specific functionality like sensors or camera.
  • Adobe PhoneGap uses Cordova as its core and lets developers even build their applications in the cloud without the need of installing a native SDK.
  • Basic PhoneGap functionality and Apache Cordova are free of charge.
  • Besides PhoneGap, Adobe also offers Flex for creating mobile applications.
  • Apps can be developed using Adobe Flash Builder and can access native device capabilities.
  • Flash Builder assists the development process with code templates and generation, signature tooling and debugging support.
  • Flash Builder Premium is available for Mac OS and Windows for $699.
  • Unity (cross-platform, app engine): 
  • Focused on gaming.
  • Unity also lets developers create applications for numerous platforms with a single code-base.
  • Besides enhanced built-in support for audio, animation or physics, Unity hosts an asset shop to buy application fragments.
  • Unity can be purchased for $1500 or used on a monthly base for $75/month.
  • Steroids.js can be used to create cross-platform HTML5 based application like PhoneGap and also uses Apache Cordova as its core.
  • To extend Cordovas functionality and increase performance it offers access to native UI components, navigation and animation.
  • Steroids.js is free, additional cloud based services for automatic app store updates or ad-hoc sharing of apps can be purchased.  
HTML 5 & JavaScript based frameworks
  • jQuery Mobile is a JavaScript framework for creating touch enabled HTML5 websites.
  • The sites are automatically responsive and can be used on broad range of phones and tablets.
  • jQuery Mobile is open source and free to use.
  • Similar to jQuery Mobile, Sencha Touch offers a wide range of ready-to-use HTML widgets to create complete HTML5 applications.
  • Sencha is focused on high-performance and strives to deliver native user-experience.
  • The pure Sencha Touch framework is free whereas license fees for the Sencha Touch bundle including standard support start from $695.
  • The Dojo toolkit is a MVC framework including data binding to create mobile apps.
  • It comes with various pre-defined widgets like sliders or switches and includes theming for popular mobile platforms to provide native look and feel.
  • It can be used with PhoneGap to package an application and publish it in the app stores.
  • Using Dojo is free.
Complete Solution Stacks
  • Appcelerator Titanium Studio not only offers a feature reach JavaScript API and MBC framework to build HTML5 based mobile apps.
  • It also includes an integrated development environment and a mobile backend-as-a-service (MBaaS) platform.
  • Developers can use Titanium to build and distribute mobile apps and connect them to various services like SAP or PayPal by using the secure and scalable MBaaS.
  • Appcelerator can be used for free by individual developers, enterprise plans vary depending on SLAs and functionality. 
  • Applications in the IBM Worklight eco-system are hybrid HTML5 / JavaScript apps using frameworks like Dojo, Sencha, jQuery and PhoneGap.
  • Worklight also includes feature rich development and management tools and access to cloud-based backend services.
  • Prices depend on installation platforms and number of mobile clients.
  • SAP Mobile Platform offers support for development and administration of mobile applications that have access to SAP enterprise systems.
  • It is possible to create B2B, B2E and B2C apps on various technology stacks. 
  • Just like SAP, Salesforce offers an integrated app system to connect to Salesforce services.
  • Apps can be built as native, hybrid and HTML5 applications or by leveraging existing mobile apps. 
Hope this helps.
More details here.

No comments:

Post a Comment