My acquaintance with Flutter.
Preface.
As a short disclaimer I would like to give here a story from my life. Back then when I worked for
Ericsson, I had a conversation with my colleague.
He was so excited about a progress of JavaScript and Node.js at that time, that he was literally convinced that JavaScript in the close future will replace all programming languages.
To justify him I have to say that he was kind of developer who had been developing or testing telecommunication systems during all his life after the university. This of course influenced him as a developer and when he decided to discover IT outside of telecommunication area his conclusions were slightly not correct at the beginning of his journey.
I would ask you not take this presentation as marketing action or a one more statement of the only true way. I would like to ask you to take a look on Flutter framework in impartial way. I hope my induction / preface illustration, and razer skeptical position regarding dominating perspectives of JavaScript back than won’t skew your scales.
My acquaintance with Flutter.
In my presentation I will rely on my personal experience more than on commercial materials. Of course, I will pay attention also to economy of the framework. I plan to look on it from the angle of a team. However, the main part of the presentation comes from the position of a general individual developer.
In my presentation, as the very first goal, I would like to give an answer on the questions – “Why should I (here I have in mind an interested developer) pay my attention to Flutter?”, “Which benefits it could give to me personally, to my team, company?”
My acquaintance with Flutter began a little bit more than one year ago. In some moment of time, I felt great interest to AI on mobile platforms. Especially I was very interested in pose estimation and audio waves processing / voice recognition capabilities.
Thankfully to the BIX program of employee’s self-development, I’ve received financial support for learning AI model deployment course of Coursera. The course gave me general understanding about the ways of integration AI on mobile platforms and WEB. With this base knowledge I decided to delve deeper into the topic. The next step for me was learning the basics of Android or IOS programming.
Based on two reasons Android dropped out immediately. The first reason – I had only iPhone. The second reason, I had a colleague, who new perfectly IOS programming up to the deeper levels of C/C++. He has started IOS programming it times of Objective-C, which was the language developed in Steve Jobs’ company, in the moment when he leaved Apple, and decided to develop own products. I think the company was called NeXT. Now, as we use Swift for IOS programming.
Back to me taking the decision. We have been working together in the same project, so I expected useful and necessary mentor’s help, and I haven’t mistaken.
I delved into learning of Swift and IOS programming. I wouldn’t characterize myself as a weak person or weak-spirited, lacking motivation, but after some amount of time, I have gotten an impression that I had underestimated amount of time and efforts needed to learn all nuts and bolts of IOS programming.
It is very hard to a novice to find good learning materials, understand which of them lead to the best results in the shortest and the most appropriate way.
In my case, Bratislav, he was my colleague guru in IOS programming, gave me advice to try courses of Ray Wenderlich. These courses were good structured and with great amount of good information. I think it would be appropriate to characterize that they were well constructed stream of practical knowledge, which can transform novice on good IOS developer.
I followed the plan, but at some moment of time I noticed that I become oversaturated with knowledge, what in principle and didn’t look for, and I had a feeling that my goal seems to be moving away from me. I was attracted by AI, but following the course I had to learn how XCode works, how position UI elements, how to manage an application state etc. I remember I was interested how long it will take for me to finish the learning path give my speed of learning and practice and got minimum one year and that was only for the one platform. I though, for two planforms it would require minimum 2 years.
In the same time I started considering cross platform frameworks. I expected using a framework I would be able to play and discover interesting topic very quickly, and a least spare one year of learning.
One day I found Flutter I tried it and I liked it. At that moment it was very young – just 2 years old. Developers of Flutter declare initial release date of May 2017.
Despite of “baby” age Flutter gave me possibility to try what I wanted after short introductory training, and this gave me more motivation and good momentum to continue my leaning of IOS and Android.
Why I sticked to Flutter? The first reason, Flutter abstractions are, from my point of view, quite close to HTLM concepts.
Second, I wanted easily to switch between different levels of abstractions, in case framework wouldn’t have appropriate functionality. I wanted to do it in expected way, not using kind of hooks, workarounds, black doors. I wanted to have such a type of control.
As illustration let’s imagine I would like to build AI solution for IPhone and use CoreML and CoreVision so I could do it easily just creating appropriate functionality and consuming it with created UI.
In the same time I wanted to have UI able to adapt to different platforms, easy to design and change.
Also, I estimated simplicity and convenience of development tools. The price also was considered, I would prefer something good for free
All of my requirements were satisfied by Flutter at that time, and with new version of Flutter I have gotten even more.
Comments
Post a Comment