Why I'm Turning My Back on Developing Native and Hybrid Apps
You mean I need another language to learn mobile? I don't think so. Today, I talk about why I'm moving towards a web-based approach for mobile and leaving native behind.
If you're a website developer or designer, you know how important mobile can be for your career.
Not only do you need to excel in your current development skills but now you need mobile skills.
But nowadays, the mobile path is a hard decision to make.
What path do you choose? Do you go with native to use the devices hardware or do you need basic functionality where HTML5 satisfies your mobile needs?
Native or Web?
For some companies, it makes sense to have a native AND web presence.
For example, CNet reported that NetFlix revamped their site to work more like an app. I understand that they need to have an app for their videos to stream perfectly on every device, but honestly...do they?
HTML5 has video capabilities. Would it make sense to have everything through the web? I think Netflix may be seeing the light with their recent decision.
Another great example is Microsoft putting a lot into their Windows Store which supports HTML5, CSS, and JavaScript apps. Their virtual academy has a great tutorial on Developing Windows Store Apps with HTML5 Jump Start for free.
If you're still torn between native and web, make your own decision based on this great comparison between native apps and web-based app from WeblineGlobal.com.
Moving forward with a Web approach
Which direction am I moving towards? A web-based approach. Here's why:
- If you haven't heard about "Mobile-geddon" from Google, you need to pay attention. Back on April 21, Google gave websites that are mobile-friendly a reward of extra "ranking juice" for moving towards a mobile approach (SearchEngineLand.com, Google).
- Along with that manner of thinking, you really can't receive SEO (search engine optimization) traffic from a search engine with an app now, can you?
- Deployment is a lot simpler instead of getting approval from a "store."
- If I have a need to utilize the hardware on a phone, I will definitely entertain the idea of building an app. But for now, I have no need to build a native app.
I'm sure I'll come up with more as we continue down this web path.
This approach feels familiar to me. The idea of having "executable code" inside a browser/phone has been done before. Anyone remember ActiveX? How about Flash?
HTML5, CSS3, and JavaScript are the lowest common denominators in the web industry. While I can appreciate the approach most developers are taking with their native apps, but besides the latency of the network, I feel like the technology of HTML5 and JavaScript levels the playing field.
You can easily turn on (with acceptance) the GPS on your phone through the browser. I don't need an app to do it.
Need storage? HTML5 has local storage for up to 5MB of storage.
Where to go from here?
While I don't have all the answers, I do have a burning desire to take up a challenge of building a web-based app that would rival a native app.
Do you have the same burning desire? Where do you start?
Select a CSS framework that supports mobile
While my choice of CSS Frameworks is Bootstrap, there are a number of other frameworks you can use like Foundation or Skeleton (comparison). Confirm that they support a responsive layout for all sizes of devices (tablet, smartphone, desktop, etc).
Keep it Simple
Take a simple project and build a concept around it. Make it functional and then refactor it mercilessly so it can run exceptionally fast. Then refactor it again.
Always be looking
Scour the web for the latest techniques on how you can make your site even better and faster. That's how I found some awesome Twitter Bootstrap libraries for future projects.
The Web is the Web
While focusing on the mobile web, keep in mind that other technologies on the desktop work just as well as on mobile. For example, caching is a technique to speed up the delivery of web pages. Guess what? It works on mobile too, you're just delivering it to a smaller device.
These are just a couple of starting points for building out your website into the mobile web.
Conclusion
Even though I covered a very high-level approach for building mobile web sites/apps, I will be digging deeper into this topic with some additional mobile web ideas and concepts for squeezing the most out of your responsive websites.
Stay tuned!
How do you build mobile websites? Post your comments below.