I have started my career as a game developer using Unity. When the first iPhone came out and you can start building games for iOS, I quickly transitioned to learning Objective-C. Then I worked for a start-up, a bank and finally a restaurant chain. As iOS development transitioned into Swift so did I. As people spoke about cross platform development utilizing react native, I got curious. Understanding the framework and capabilities of this Facebook created framework, I noticed it did not perform as well as native app development. This was no surprise as it came from the web as oppose to being mobile first. A few years ago, Google came out with their own solution to the problem of having to write code twice once for iOS and once for Android. The solution was Flutter. Flutter was putting mobile first, web second. In fact, they are still having issues integrating to the web, while being super strong in mobile app development.
Being an iOS developer, I am often asked why would you want to learn a new framework? The answer is simple, you do not want to maintain two code basis, the app’s business rules, design and UX typically different between devices no matter how hard you try for them to look and act the same. Finally, I did not want to be classified as an Apple guy, and be tied to one hardware and one company.
So how do you start to transition from a native app developer to Flutter development? If you are already an object oriented programmer, you are already half way there, if you know Java, that helps too. The starting point should including having a basic knowledge of Dart. There are many resources available for you to learn Flutter, including the Ray Wenderlich website, which I am a team lead on.
It is easy to install Flutter on your OS machine, then set up your editor and start working on your first project. It can be as simple or as difficult as you wish. Depending on your learning style you can read a book, listen to a course or do some trial and error by building an app, you can also do a code mentor session if you are stuck and need one on one attention.
Some of the benefits of Flutter is:
- Fast Development
- Flexible and Expressive UI
- High Quality Native Performance for Cross Device Development
- Easy to transition if you are a Native iOS or Java developer
- Booming in the job market and projects
Due to high demand in the industry for Flutter freelancers, I have decided to become one! If you are looking to transition to Flutter, or are working in Flutter but need code review or have a problem you need to solve, I would be happy to help, you can contact me here!