The Ultimate Guide to Mobile Frameworks
Photographer: John Consoli/UMD
At Competentum, we built our first educational mobile application in 2010. Since then, mobile applications have become part of our wide range of services. Back in 2012, HTML5 mobile frameworks were already quite powerful, but they just keep getting better and better.
When you choose a mobile development framework, it is important to define what type of application you would like to create. Your choices include native apps, hybrid apps, and responsive websites built on HTML5. The decision you make will affect the final product. Learning to make the right decision requires understanding how each type of development works and how it affects the result.
Photographer: Brad Flickinger
A native app is created to run on a specific mobile operating system. Native apps are written in the native language of the platform operating system: Android, Dalvik, Java, iOS Objective C, Windows 8 Phone, and Windows Store C++ or C#. Each platform provides a different toolset for its native app developers, including the materials needed for app store submission.
Native apps have a number of advantages, the biggest of which are the ease-of-use on the gadget, full access to features native to a device (camera, address book, geolocation), usually high app performance, and speed. In a nutshell, they are more likely (if developed properly) to run without error.
If you are aiming to impress students with extra vibrant graphics and animation, a native application is the way to go. For now, it is by far the best solution to accommodate the highest speed 3D graphics.
However, this choice comes with a trade-off. The biggest problem with native apps is making them available on many different platforms. Large portions of the app may need to be rewritten in the native language of each platform you are targeting; for example, if you want your app to run on Windows, iOS 7, and Android, you are going to have to develop the app three times, once for each operating system. Therefore, the development of native apps can be time consuming and more expensive.
Developers at Competentum have extensive knowledge of platform specific technologies and programming languages. You can use their vast experience in building apps to optimize your spending. For example, you can develop an education app for a single operating system if choosing the native route. If the app is successful in that environment, we will then go back and recreate it for other operating systems. At the moment, iOS apps are more profitable than apps released for other environments.
Photographer: Eduardo Merille
These apps combine major benefits of both HTML5 and native apps. The greatest advantage of hybrid apps is that they are supported by multiple operating systems and are more cost effective compared to developing a number of native apps. If development is done well, users are generally not able to distinguish between native and hybrid. In fact, users, in general, don’t care about how the app is developed—as long as it does what they expect it to do.
Most hybrid app frameworks are focused on writing web code and packaging this code into a deployable cross-platform app. Furthermore, this app can be packaged into a store-ready app by using PhoneGap/Cordova, React Native, and Xamarin.
On the other hand, supporting costs of a hybrid application may be higher than the costs of supporting a native app. It also can present serious issues if the app requires complex interaction from the device. Plugins can put limits on what can be achieved on this front.
HTML5 Apps, aka Responsive Website
Photographer: Eduardo Merille
The average user is already using up to 30 apps. Over a quarter a million apps are released yearly. Depending on the aim, a well-designed mobile website can be enough. Here is why.
HTML5 runs everywhere a browser does and does not require downloading and learning a new toolset for each platform. A responsive website can deliver similar functionality to a native app. In fact, at Competentum, as with any experienced team, we know how to keep the differences to a minimum. This app will automatically resize based on the browser and screen size. The application will automatically detect and change the user interface (UI) to fit the platform on which the app is running, and it will change according to the orientation of the device.
Saving the effort of having to rewrite the app for multiple platforms is the ultimate pro factor but not the only one. HTML5 tools and app frameworks are evolving rapidly, continually improving the development experience to allow HTML5 to reach its “run anywhere” promise.
One interesting benefit of using web technology to build mobile applications is the testing process. You can see the app right in your browser—no devices or emulators needed. This benefit shrinks debugging time and pumps up the overall ROI. We can also use something like GapDebug to test PhoneGap functionality since it accesses the native APIs of the device, which are not available in the browser.
The biggest drawback to using responsive websites is that the app cannot be distributed through an app store. This fact can be a deal breaker if you are looking to monetize downloads of your app. Secondly, the user will need constant connectivity to make use of the website, although it may not be a problem in highly developed environments with good mobile broadband.
If you stick with 2D graphics and keep it simple, you can expect a brilliant animated HTML5 app. However, to facilitate the education industry trend and the high competition on the market, you might turn away from the responsive website and toward the other options to incorporate better graphics.
In the Rear
Yes, high-end native applications still have the potential to be better than Hybrid or HTML5 apps. However, HTML5 does a great job across the most platforms, which dramatically reduces costs by only having to develop a single version of the application.
There is a curious debate in the professional community. Some developers insist that the native route is the only option for mobile content; HTML5 mobile app developers get defensive of their chosen tech and also go on the attack. The fact is, though, that in the majority of cases, users will not even be able to tell the difference. A well-designed HTML5 mobile application can outperform an average native app. Some big media players are proud ambassadors of the responsive framework—take Netflix, for instance.
The Competentum team stands neutral and cherishes the experience when one or the other framework fits perfectly and helps to maximize clients’ profits.
Hopefully, you now have a bit of a head start when planning which framework to choose for your content. The conceptual stuff can be quite hard to figure out initially. There is certainly a lot to know when it comes to building web or hybrid mobile applications. So if you are just starting out with mobile development or have done a lot in the field but still have questions, we are looking forward to sharing our knowledge with you;
just drop us a line.