Like most big Web sites, Internet pioneer Yahoo is betting big on mobile. It’s making its Web sites mobile-friendly, and also has nearly a dozen mobile apps, ranging from Mail to Weather, Finance, Sports, Flickr, and more.
So how does the multi-billion dollar company look at the mobile future? Are they betting on native applications, HTML with JavaScript and CSS, or on hybrid? To find out, we spoke with Michael North, Principal Engineer and User Interface Engineering lead at Yahoo who specializes in mobile. We also asked for his recommendations on how other companies should make the decision about which technology to use.
Hybrid development’s “bad rap”
North says when hybrid development first became popular several years ago, “it got a bad rap, because large companies such as Facebook tried to use it as an exclusive mobile app solution and it didn’t work out well.” Mobile devices were slower than they are today, and so hybrid apps didn’t perform well on them. In addition, he says, frameworks for building HTML-based hybrid apps weren’t yet fully mature.
Today, though, he believes that for most purposes, a hybrid approach is the way to go. He says, though, there are some reasons a company might want to build native apps instead.
“If you need to tap into a device’s 3D graphics functionality, right now it makes sense to go native,” he says. Similarly, if you’re building games, for now you should use native development in order to squeeze all the performance necessary out of the device, and to build the best-looking interfaces. However, for apps such as to-do list managers, calendars — and for most other apps — he believes the answer is to develop in HTML 5, CSS, and JavaScript, and either leave it as a mobile web page, or else deliver it as a hybrid app.
“Using a design language like Material Design, you can design pages that scale down to mobile well, and also scale up to larger screens. So you can build the app once, and then using a tool like PhoneGap or Apache Cordova you can generate apps out of the code.”
Mobile at Yahoo
At Yahoo, this hybrid approach is increasingly the way that mobile development is handled. Yahoo is even considering merging its mobile and desktop efforts.
“We have both mobile apps and desktop apps built around HTML 5 and JavaScript, and you’d never know it,” he says. “We’re experimenting with taking the Web developer skill set and using it to also build desktop apps with a technology called NW.js.” With NW.js, you take HTML 5 and JavaScript code, and build an executable piece of software to run as a desktop app on Windows and Mac machines.
“With this approach, you have a single code base that has consistent files across multiple experiences, both mobile and desktop,” he says. “It allows you to leverage the same code over and over. That way you develop your app once and deploy it everywhere. Also, if you make an update, everybody receives the update right away, no matter what platform, whether it’s a mobile device on a small screen, a mobile device on a large screen, on the Web, or on the desktop.”
He says that there’s a lot of wasted effort when there are multiple teams with different skill sets, working on different languages for different devices. Not only does that lead to a need for hiring additional developers, but it also means that apps are frequently updated at different times for different devices. Developing it just once solves those problems.
Ultimately, North envisions a completely automated way of deploying apps to mobile, the Web, and desktop after they are created using HTML 5, JavaScript, and CSS. After the development work is done, the finished code would be sent into some kind of pipeline, and then tools such as Cordova and NW.js would automatically convert the code and deploy them for each device.
“This will be the new standard for setting things up,” he concludes. It’s not here yet, but North expects it will eventually come.




