Selecting Right Technology For Your Enterprise Mobile Solution

Selecting Right Technology For Your Enterprise Mobile Solution

The main purpose behind writing this article is to focus on the different variants of mobile technologies present in the market.

The mobile market has been quite crazy over the last 5 years. We have seen too many trends, techniques and technologies emerging and dissolving over the period of time. This article assumes that you are a mobile app developer who wishes to choose the best technology for his Enterprise Mobile Solution.

Let’s go through different mobile development technologies generations one by one and see their advantages/disadvantages.

  • 1st Generation (Native)
    • iOS – Objective C / Swift
    • Android – Java
    • Windows -.NET
    • Advantages
      • Native UX
      • High Performance
      • Hardware and Platform Access
    • Disadvantages
      • Single Platform
      • No Unified Codebase
  • 2nd Generation (Hybrid HTML and JavaScript)
    • PhoneGap
    • Appcelerator
    • Apache Cordova
    • Kony Mobile
    • Advantages
      • Multiple Platform
      • Unified Codebase
    • Disadvantages
      • No Native UX
      • High Performance
      • Hardware and Platform access
  • 3rd Generation 
    • Xamarin
    • React
    • Advantages
      • Multiple Platform
      • Native UX
      • High Performance
      • Unified Codebase
      • Hardware and Platform access

There is a transition from Native, then hybrid and now cross platform. The technology is getting much better and faster day by day.

The native generation is still transition proof and many prefer it over the later two generations. It is because it offers seamless performance, support, and resources. The direct support from Apple and Google is an important factor in selecting these technologies.

The growth in the second generation is stagnant due to the rise of the third generation. People are using Cross Platform (Native) to use a single language for development across platforms and also share more than 40% codebase to reduce time-to-market.

The only factors which help people use the cross-platform app (native) over the normal native apps are code sharing, time-to-market and resource constraints. Those who fall in this category are going towards cross-platforms apps which not only have native UX but also performance.

Also, I see that many still are confused between Hybrid and Cross Platform. Let me tell you, these are completely different kind of technologies. Let’s understand their definition:

Cross Platform:

It is a solution developed to minimize development efforts by compiling the source code for further execution on multiple mobile platforms. But the result of each separate compilation will be an individual executable file. For example, iOS executable file has .ipa extension, and for Android, it is *.apk, etc.

Hybrid:

These apps are developed using web technologies like HTML, CSS, Javascript etc. It is an app which runs in a “wrapper” and serves not as a web page, but as a standalone application.

Good professionals are very sensitive to the concept of development, efficiency and productivity and most of them have unique vision “what is good and what is bad?”, but usually, it is all about technology set that use, care and cherish. In general, it may happen that the budget decides everything, so the basic background for the emergence of cross-platform solutions was their benefits to business, namely:

  • Need a single developer who can develop a mobile app and deploy it for different OS. Thus you eliminate a need for full-time developers for every single OS;
  • Difficult to find developers for individual platforms when the business requirement is critical
  • Ease to manage the app versions for different mobile operating systems

Let’s see some key takeaways and considerations to compare Xamarin and Hybrid Mobile App. To understand the difference in a much better way with quantification, I have created a sample app which demonstrates and provides the detailed analysis of the key points as follows.

Key Takeaways:

  1. Cross Platform (Native) app fulfills most of the requirements whereas Hybrid app was unable to deliver on the key piece of functionality without requiring custom Objective-C and Java

  2. Xamarin performs CPU-intensive tasks much faster than Hybrid HTML

  3. Cross Platform Native loaded large datasets faster than Hybrid HTML

  4. Cross Platform Native used less memory than Hybrid HTML

User Experience Key Considerations:

  • Native look and feel
  • Hardware & Platform Access
  • UX Design Capability

Developer Productivity Key Considerations:

  • Volatility of HTML frameworks
  • API Access Extensibility
  • Stack Complexity
  • Strongly-Typed Development
  • Compilation Time

Metrics:

Performance (ms) – to load and display a single page

  1. iOS
    • Xamarin – 1400 ms
    • Hybrid – 2000 ms
  2. Android
    1. Xamarin – 3690 ms
    2. Hybrid – 4502 ms

Compile Time (sec) – to compile the mid-size app

  1. iOS
    • Xamarin 34 sec
    • Hybrid  18 sec
  2. Android
    1. Xamarin 32 sec
    2. Hybrid 25 sec

Code Reuse (%) – considering the basic flows and libraries used

  1. Xamarin Native – 45%
  2. Xamarin Forms – 96%
  3. Hybrid Mobile – 99%

App Size (MB)

  1. iOS
    • Xamarin – 35 MB
    • Hybrid  – 11 MB
  2. Android
    1. Xamarin – 11 MB
    2. Hybrid – 6 MB

TCO Key Considerations

  • UFC (Upfront Cost) vs Maintenance
  • End-UserProductivity App Adoption
  • Agility Costs

Conclusion:

The selection of technology for your enterprise solution is a process which consists of various parameters. Some of them are budget, time-to-market, user experience, performance, explicit requirement and code reuse.

 

Advertisements

This post basically tells you about the fastest way to integrate social platforms like Facebook, Twitter and Google+ in iOS.

FACEBOOK

There are two ways we can integrate Facebook with iOS.

  • Using Facebook SDK
    1. Facebook SDK is only for Facebook and can perform various tasks related to Facebook only. It is reasonably easy to integrate Facebook into any iOS app and much more powerful than the Social Framework. Another benefit is that support goes back to iOS 4.3
    2. SDK offers several features provided in FB and several of them can be integrated in iOS app. For example: you can use different dialogs to post on your friend’s wall and can run FQL queries and graph operations too. Not possible using social framework
    3. User is asked for authentication first, once the user is authorized then he can use Facebook APIs in SDK and perform operations
  • Using Social Framework in iOS
    1. The Social Framework is designed for simple, site-neutral data manipulation. Examples might include getting the user’s ‘activity feed’ or posting a new status or photo
    2. Social framework doesn’t means only FaceBook. It is larger than only Facebook, it includes Facebook, Twitter, Sina Weibo and LinkedIn also
    3. Social Framework supports iOS 6.0 onwards
    4. If your app supports iOS 6.1 and above, Social Framework is highly recommended
    5. iOS specific native dialogs are open to post anything on social platforms
    6. User can configure Facebook and Twitter app already integrated in iOS and then can direct share content from iOS app on the configured accounts

Single SLComposeViewController helps you to share multiple social platforms. The only thing that you need to do is to change the type of social account and you are through.

Note: According to Apple, 89% of the iOS devices are already on iOS 7. The percentage will be higher if iOS 6 is included. So, if the requirements for the usage of Social Platform features are minimum (like share), then Social Framework is the way to go!

TWITTER

For Twitter, the best way to integrate is to use Social Framework. In the old versions of iOS, twitter framework was present but that is replaced by social framework. If the accounts are not configured in the settings section, then you will see below screen and will ultimately take you to settings to configure Twitter or Facebook.

 

Login

GOOGLE+

As there is no integrated support for Google+ in iOS, it is mandatory to use Google+ SDK for iOS for integration.

You can start your integration journey for Google+ from here .

If you have questions on the integration of social platforms, then you can ask in the comments section. Enjoy integrating!

– See more at: http://atozgeek.com/integrating-social-platforms-in-ios/#sthash.9Peg6rai.dpuf