How to Build a Successful Mobile App: Native, Hybrid or HTML5?

Are you developing a mobile app or planning to launch a mobile solution? According to Golden Gekko, there are pros and cons to HTML5 and native apps based on your experience, requirements, budget, skills and time. The chart above illustrates the difference between native, hybrid and HTML5 approaches. In this blog, we’d like to share best practices in mobile app development with insights from Jeanine Swatton, Director of Developer Evangelism for Yodlee Interactive. Jeanine has a background in software engineering, management and Developer/Technology evangelism. Jeanine has taught iOS development and Ruby at a few Universities. She has also worked as a Technical Consultant and Engineer for software/mobile and wearable startups.  1. What’s the difference between web-based, hybrid and native mobile apps? A native app is built to run on a device’s OS such as iOS and Android. For iOS, you will program in Objective C and/or Swift while with Android devices, you will program in Java. This app runs directly on the device and is available through the Google Play store for Android apps and the Apple store for iOS apps. A hybrid app is built using tools such as PhoneGap and IonicFramework. This app allows you to build across multiple platforms with some interaction with native functionality of cameras, GPS and device information. A web app is a web site on a device utilizing technologies such as HTML5 and javascript. Parts of the software are downloaded from the Web. These apps are not available in an app store. 2. Which type of mobile app should I build? It depends on the industry. The native approach would be best for companies interested in developing games, social network related apps as well as travel related apps and utility apps. If you are looking to develop apps focused on news and weather publishing, retail and shopping, web based would be your best approach. There are many early stage startups utilizing the hybrid approach, primarily the Ionic Framework in order to prove out their model to determine whether it will gain traction.  3. What is the best way to monetize a native app? The best way is to give away your app for free and provide in app purchases. Some developers make the mistake of charging for their apps. Due to the high number of free apps in the store, free apps will definitely take precedence over a paid app. The following chart shows the revenue share per business model showing how free apps with in app purchases generate the most revenue. 4. How do I get featured in the app store? Getting featured is rather challenging in the Apple store considering there are over 900K apps. Knowing someone at Apple will not increase your chances. The best approach is to focus on the functionality, implementing the right keywords for app store SEO and monitor the trends in the store. 5. Should I build an Android app or an iOS app? In many cases, companies begin launching an iOS app then an Android app. However, there are restrictions with certain functionality in iOS due to its secure platform. In certain cases, such as screen sharing, video streaming, SMS modification, you will find companies launching Android first due to the simplicity of adding this core functionality on the Android platform. By implementing the hybrid approach, with one code base, you could produce apps for both platforms. 6. What tools and languages are required to build native mobile apps? For iOS specific apps, you must use XCode for your IDE. For the programming language, you would develop in Objective C and/or Swift. For Android apps, a majority of developers use Eclipse as their IDE and Java. 7. What advice do you have for mobile app developers? First of all, minimize the registration process, and allow the user to go directly into the app. If the user has to spend more than 3 seconds to get to the core functionality of the app, you have increased the chances of losing that user. Allow for non-registration usage of your app and keep the registration process short and simple. Secondly, keep the functionality simple. Some developers tend to incorporate too much functionality in an app, which leads to confusion. For your MVP (Minimal Viable Product), keep the functionality simple!  Once users are comfortable using your app, then slowly add new functionality to the app. Third, test your app extensively. There have been too many instances where a developer launches their app and it fails. Your first launch should be simple and polished with minimal errors. You only have one shot at doing it right. 8. What are some of the top mobile financial apps powered Yodlee? Some of the top mobile solutions that leverage Yodlee Interactive APIs include BillGuard, Personal Capital, LearnVest, Google Wallet, Venmo and Avant Credit. These apps have excellent 4+ star ratings on iTunes. Below are examples of leading hybrid and web-based financial apps.
  • Venmo uses a hybrid approach for its mobile financial app. This solution works great for management of one code base to support the most popular mobile platforms: iOS and Android.
  • AvantCredit offers a web-based app. Benefits of this solution include instant updates once new code is pushed to the server, more app visibility on the web, and one code base to manage and update. This style is based on Bootstrap, which uses Angular.js for the front-end framework.
At The Money Event in Las Vegas on September 10th, 2014, we hosted a panel on Mobile First Disruptive Solutions with industry experts. Moderated by Christine Loredo, VP Programs and Partnerships at Yodlee Interactive, panel speakers included Jim Del Favero, Chief Product Officer at Personal Capital; Ryan Graciano, CTO at Credit Karma; Paul Zhang, CTO at AvantCredit; and Katy Gibson, VP Product Applications at Yodlee. Feel free to watch the video here. What are your favorite mobile apps for managing finances? If you’ve built a successful mobile app, do you prefer a web-based, hybrid or native approach? We would love to hear about your experience, challenges and lessons learned with mobile app development. Please contact Jeanine at if you have any questions or would like to be featured in upcoming blog posts!