There’s a pretty universal, hard position favoring native apps (and pretty much damning the subpar user experience of hybrid apps). When it comes to performance, security, and UX, the experienced dev community fosters a “worth the wait” philosophy. Native apps, at times, take more upfront time, but there’s a payoff in unified user experience.
While, to an extent, empathetic to this camp, Mutual Mobile Senior Engineer, Alex Wasner suggests there is more context around and future implications to this debate. It’s not only these types of apps that need investigation–it’s the environment in which they’re made, the business purposes (well-defined or half-baked) behind their development, and the trends dictating the future of app efficacy.
I’ve seen some extremely impressive hybrid apps that perform just as well if not better in some instances than native apps. It all starts with the right architecture and developers. While I agree that most web hybrid apps are average at best, there’s more to it than a lack of functionality. In recent years, there have been many pop-up companies offering cookie-cutter solutions. This trend floods the app store with shaky hybrid apps.
When you use these apps, you can tell they are built with a webview. They have clunky page animations, a lack of gestures, and/or a slew of pre-built, shortcut components. Additionally, if junior native developers build out a complex product with cookie-cutter code, the user experience will also suffer.
When it comes to measuring up to native apps, you have to focus heavily on performance optimizations and using native animations when possible. For example, being bound to the memory limitations of the webview in hybrid builds, you have to manage memory a lot more to achieve native-like performance.
But this is not to say that smooth scrolling, 60 frames per second animations, and a native feel are impossible. It simply means that the resource stakes are higher. It’s definitely possible and, with the right team, you can create really well-performing and beautiful hybrid apps.
Once again, sometimes it’s more the approach than the tech itself. Limitations are limitations, but the right process mindset can make a significant difference. In my experience, with both native development and web technologies, rapid iterations in design are a lot quicker to prototype and animate with web technologies. On one project, I integrated a webview based solution into an existing iOS and Android app we were building. Upon completing the feature, I was told that it saved both engineering teams at least four weeks worth of work due to the complex animations and gestures of the feature.
It’s a combination of both. On the design side, if you are building the product with fast-food solutions and pre-built web UI components, it shows. If you wait on including UI and UX designers in the app development process, your app is going to have issues. On the flip-side, if you get everything right on the design side, but don’t allocate time to optimize performance and devalue aspects like smooth animations, even your average user will be able to tell it is not built very well.
A more blended development stack will help us get the best of both worlds. There’s a gradual migration from purely web-based hybrid solutions to native-hybrid solutions like React Native and Flutter. So the typical talking points of lack of performance and use of native components is diminishing. These tools are built with the same underlying language as the web solutions (JavaScript), but build and render completely native views.
One pain point with traditional native development is having to rebuild the app for every code change you make. On some large apps, especially ones with custom libraries that have to be rebuilt every build, this can add seconds to even minutes to the time it takes to test your code change. With React Native, you can get live reloading for every change and see the results in real-time. Improvements like this and some of the debugging tools really add a lot of value and help level the playing field.
This kind of architecture allows you to get the benefit of rapid iteration in hybrid development along with the native UI components and performance. As with any new technology stack, it’s not without its hurdles, but these solutions have already built pretty impressive apps, including VR experiences and complex shopping apps.
With Google and Microsoft heavily investing in PWAs and Apple also giving them some support, they definitely have a chance to be successful. It’s probably still too early to know if consumers will adopt this method of installing and using these apps in the future. As the technology evolves and adoption increases, I can see PWAs being an alternative to a native app if visibility continues to improve and there are more options like the Microsoft Store for bubbling these PWAs to the surface. Only time will tell.
There is a fairly large difference in knowledge and mindset when it comes to building and architecting an augmented reality game versus a more straightforward shopping app. That being said, there is plenty of cross-over in the programming languages used and even some of the architecture patterns.
Aside from the types of products being built, some companies will only build hybrid apps or only build native apps. I believe you should find the right solution for the product and the team, as opposed to saying “Native apps are the only way to build a good product” or vice-versa. There are times when the right solution may be a blend of the two.
There are many factors that come into play when deciding what to build:
It’s across the board. Some partners know exactly what they want built and offer little-to-no wiggle room. Others come in with a broad idea, and, after discovery, we may suggest a different solution, and they trust our judgment. Finally, there are some partners that have no idea how they want their product built, but just want it done the best way. All the previously mentioned factors come into play.
Dominantly, cost. Companies want apps (in the stores) for very little investment. They also want a measurable return on their investment from the app through in-app purchases, real world purchases, ads, sponsored content, or (in the worst cases) selling user data. A better user experience tends to lend a higher ROI, but only to a point. Some apps sit at the top in the store despite abysmal user experiences and clunky animations.
Giving users more data about their lives, health and habits, or giving them a new augmented reality shopping experience is great. Designers and developers behind high-quality apps will always promote the value in best practices and meaningful innovation.
Coming full circle: As mobile devices get faster, tools like React Native and Flutter evolve, and PWAs become more popular, there will be less of a concern about hybrid versus native. Instead, the question will be “What will deliver on growth and/or profitability objectives?”
Explore More