FPT Software's Technology Community
  • Contact Us

Mobile Cross-Platform Development Solutions in FPT Software

Ting Hsuan Lin | September 27, 2016

Developing mobile apps in today mobile landscape is hard and wasteful. Mobile developers need to support all major mobile platforms: iOS and Android (maybe Windows Phones); that usually means they have to rebuild everything on each platform, maintain multiple codebases, and possibly have different platform-specific teams. The silted approach of building app multiple times has some drawbacks:

  • Development and maintenance costs double (or triple.)
  • Teams write and fix the SAME bugs multiple times.
  • Bugs are reported for a specific platform and may go unnoticed on the other.
  • Apps may exhibit subtle, undesired differences in behavirour; makeing it very hard to test and debug.
  • Performance optimization is expensive and very platform specific.

These drawbacks affect almost all mobile products and projects. With the current Bring Your Own Devices (BYOD) policy, even enterprise mobile applications need to support multiple mobile platforms. You cannot dictate which mobile devices your employees will bring to work. Even resourceful consumer companies such as GoogleDropbox, and Rdio, are looking for cross-platform solutions. With the current trends in mobile technology, there won’t be a clear winner-takes-all in near future (like what happened in the PC market before). Developers must support at least iOS and Android platforms. Android has clearly become the number 1 mobile platform in term of market share.

According to the latest IDC report, “Android shipments lead the global smartphone market, with 283 million units shipped and over 84% of the market share in the third quarter of 2014”. However, Apple’s iOS has a lock on the high-end of the phone market that faces no immediate challenge. Apple Dec 2015 quarter results showed iPhone sales reaching 75m units a quarter (highest ever sales, better than expected). Also, iOS is superior in term of monetization; for instance, only 5% of the award-winning game Monument Valley installs on Android are paid for, the number is 40% on iOS.

The game generated a total of $5,858,625 across all app stores, but 81.7% of revenue came on iOS. As the competition for the mobile platform dominance has intensified, Google (Android) and Apple (iOS) have used their platform specific features as differentiation factors. They take subtle but very different architecture approaches. At 2014 WWDC and 2014 IO conferences,  Apple’s approach is about a dumb cloud enabling rich apps while Google’s is about devices as dumb glass that are endpoints of cloud services. For Apple, many new iOS 8 developments are about removing reasons to use the web, putting more of features into native apps; while Google is trying to make the question “app versus web” an non-important one – content of web and app can inter-linked. In near future, developers will have to continue to support multiple mobile platforms and deal with their differences. It only makes the multi-platform development more difficult. As the need for supporting multiple mobile platforms is universal, there have been many cross-platform development tools and frameworks trying to alleviate the associated problems. One approach is to avoid the multiple-platform problems all together by writing mobile apps using Web technologies such as HTML, CSS, and Javascript. Mobile apps in this case are delivered as mobile web apps being accessed via mobile browsers, or native apps being wrapping by a Javascript Bridge such as PhoneGap.

Either case, all codes are executed inside the mobile platform’s WebView control. Using this approach, we only need one single codebase for all mobile platforms; many of the platform specific issues are handled by the frameworks (developers don’t need to worry about them). Many developers are already familiar with Web technologies; hence it is easy to find people to work on your mobile projects. This approach is popular among business apps, which don’t need heavy UI interaction. Another approach is to allow developers to build native apps on multiple platforms from one single programming language and dev environment. The most popular framework following this approach is Xamarin, it allows developers to write full native apps entirely in C#. Developers have complete access to 100% of native APIs for iOS and Android in C#. Using Xamarin you can share app logics across platforms. This approach is attractive to teams, which are using .NET technology and now need to work on mobile platforms; they can utilize all the existing knowledge and skills. An interesting approach is to use cross-compilers to compile source-codes from one platform directly to another. For example, the Google’s Inbox app was developed in Android (Java) first, and then they used the J2ObjC to compile the app Java logic codes to Objective-C codes. In this way, they can share most of the app logic code, while the user interfaces are written in native to utilize all the platform specific advantages. If you want to develop your apps for iOS first then port to Android, Apportable provide a tool set using clang to cross-compile Objective-C to native ARM and x86 machine code – no virtual machines, emulators, or Java translation. The resulting Android apps run fast; Apportable framework has a lot of success with games.

There will be no silver bullet for the mobile cross-platform problems. However, by choosing the right tool for the right situation, developers will be saved from a lot of trouble. He will build the app faster, have less bugs, etc. FSoft has identified cross-platform mobile development is one of the key R&D areas. We have projects with customers using all above cross-platform approaches. For example, we have helped our customer to mobilize their Permit to Work (P.T.W) system, which controls certain types of work which are identified as potential hazardous. PTW is a critical system of our customer because the petroleum industry handles large quantities of flammable and toxic materials, so the potential serious accidents are clear. P.T.W is essential part of a system that determines how jobs can be carried out safely. Based on their technical requirements, we selected HTML5 Web Hybrid Architecture: Sencha Touch packaged as iPad app using PhoneGap.

For our own FPT Sales Force Automation solution eMobiz, we used Xamarin for mobile front-end development. The reasons are the app needs to perform well on low-end devices, and the team is highly skilled in C# and .NET but has limited experience in mobile development. We are actively building our expertise in this area. Currently, we are developing cross-platform UI libraries for both the Sencha platform and the Xamarin platform. Both libraries are developing in conjunction with real projects in FSoft. The Sencha UI library is used by eMobiz product line, and the Xamarin UI library is used by a new mobilization project for a US title insurance company. By using the developed libraries, the project team will save time and efforts of tuning client-side performance. Also using a standard UI library will improve UX quality because many UX aspects have been standardized. We also continue looking for innovative technologies in this area to improve Fsoft solutions (to serve our customers better). For instance, we are working with Apportable to train our experts on their state-of-the-art cross compilers. We are looking forward to see more projects in FSoft using our mobile cross-platform solutions in year 2015.

– AnhTT55 – 

Leave a Reply

Your email address will not be published. Required fields are marked *

Assignment help Australia has been providing urgent assignment help for more than a decade. Our quality work, best essay maker experts, and on-time delivery have gained popularity. With greater customer satisfaction and higher ratings from all around, we are happy to serve our customers with our unique services

[URL=https://sites.google.com/view/shootball/بازی-پوپ – سایت بازی پوپ[/URL –
[URL=https://sites.google.com/view/shootball/سایت-بت-مجیک – سایت بت مجیک[/URL –

I’d like to thank you for the efforts you’ve put in penning this site. I am hoping to check out the same high-grade content by you in the future as well. In truth, your creative writing abilities has inspired me to get my own, personal blog now 😉 url

I know this if off topic but I’m looking into starting
my own blog and was curious what all is required to
get sett up? I’m assuming having a blog like yours would cost a pretty penny?
I’m not very web savvy so I’m not 100% positive.
Any recommendations oor advice would be greatly appreciated.

Thank you
https://argumentativeresearch.com
college paper writing
college paper writing
https://argumentativeresearch.com https://argumentativeresearch.com

I must thyank you for the efforts you’ve put in writing this website.
I rewally hope to see the same high-grade blog posts from you later on as well.
In fact, your creative writing abilities haas encouraged me to get myy very own site now
😉
https://mywritingexperience.com
the best essay writing service
the best essay writing service
https://mywritingexperience.com https://mywritingexperience.com