I ask new subscribers to my newsletter what their biggest challenge is with mobile development. They frequently respond that they have trouble deciding how to get started.
Many have an inclination for hybrid development, but aren’t sure which of the many client-side frameworks/technologies or server-side stacks they should use. Some are influenced by promotional materials about a particular approach or framework, or by opinionated enthusiasts who write about the technologies they like.
Here’s my take on how to get started with mobile app development. It’s based solely on my experience developing apps, I’m not affiliated with any vendors.
Pick a target OS and learn its development guidelines
Pick one of the popular operating systems (Android, iOS or Windows) and study its application development guidelines. They will show you how apps on the OS work, their building blocks and fundamental development concepts.
You can find these guidelines in the developer portals of Apple, Google and Microsoft.
Your choice of operating system will depend on your work, business, personal preferences, or where you want to take your career as a software developer. Make your own decision and don’t go with what other people say is trendy. The important thing here is that you learn the mobile app fundamentals in the particular OS.
Try native and hybrid development on the target OS
After you know the fundamentals, practice the basics of native and hybrid development on the target OS by creating one or more toy applications. This will allow you to experience how the native and hybrid approaches compare in ease of learning and the way the produce a working mobile app.
Compare the apps you created with the two approaches. Evaluate how well they adhere to the development guidelines for the target OS and how responsive and performant they are. Pay particular attention to the hybrid apps, evaluating how close to a native app they look and feel.
Pick a second OS and repeat the cycle
Next, you will choose a second OS, learn its mobile development guidelines, and develop one or more toy applications using the native and hybrid approaches.
The goal is that you to appreciate the similarities and differences when developing for different operating systems. Focus on the development tools you need, time required to create an app, and how to deploy to physical devices. This experience will help you when you need to decide if you want to target multiple operating systems when you develop production apps.
Feel free to pick a third OS when you’re done with the second one.
What you should get out of this process
It will take you time to go through this process. Ideally, you want to complete it in less than 6 months. When done, you should have formed your own ideas on these topics:
- How easy native development is for the operating systems you targeted.
- Similarly, how easy it is to do hybrid development for those platforms.
- How satisfactory the hybrid application model is for the platforms – are the hybrid apps usable?
- What development tools and frameworks work best for you on each platform.
Questions for you
Are you experienced or just getting started with mobile development? What were or will be your first steps? Leave a comment with your answers.