My Journey towards FLUTTER
Published: 2020-06-25 05:05:42

One year ago, in the month of July 2019 I just entered into the second year of my Engineering with some core subjects. I had started learning a new Programming language called “Java”. Some of my classmates already knew a lot of things like one of them was Microsoft student partner, then there were other students who already had started with new things like Web Development, Data Science etc. Also, in second year the diploma students were supposed to join us who already knew Java and Python. At that time, I thought have I made the right choice by choosing computer Engineering? I was little bit insecure, nervous, depressed and confused about where am I going to land up. Because I had not started anything new or significant and I hadn't decided the domain in which I would go in future as well. In September I had went for IV in a company where they suggested us to do some internship part time with college. So, I decided to join any company as intern after semester 3. But now the big problem was how and when. How would I get an internship by only knowing the C, C++ and Java language? When would I do work as intern? In regular day I had 8 hrs. of college and 4 hrs. of travelling and after that I am completely exhausted. So, I thought I would do a full-time internship only for one month which I will get after my semester 3. So now I had to find how I may get an Internship Opportunity. There are plenty of online platforms which provide internship and jobs. But the probability of getting internship from such platforms were very less. So, I needed some new idea to get an internship. 


I worked out and find out a way. So, I had made a list of 25 IT company nearer to my place using google map so I won't have to travel much. I had visited every single company’s website and noted their name, address, email id and phone number. I had shortlisted some 10-15 companies depending on their distance from my residence and based on their ratings on Google. I had shared this idea with my peers but they had not shown much interest in this so I decided to apply for the internship alone. Before my second last exam of semester 3 I sent a mail to all the companies which I had shortlisted. I was expecting few positive replies but it didn’t appear to work at that point of time. I still waited with a hope of better responses. I was done with my exams and yet there was no response. I started losing hope as I was quite upset but then a new strategy struck my head. This time I would call to each and every company and ask whether they have any place for interns in their company. I started making calls, some numbers were out of service, some were wrong. Only two numbers ringed in, but they didn’t receive the call.  After few minutes I got a call from the previous call that I had made. I gave my introduction and asked them do they have any place for interns. The Person on the call heard me and asked me to call his partner for it. He forwarded me the number and I had made the call and he asked me to send my resume. So, I mailed him my resume with some lines which would impress him because this was the only opportunity through which I could get an internship. 


I was not expecting anything but wished that I get this chance. I even started planning what was supposed to be done if I get rejected from here. I had applied for a Math’s Scholarship and planned to learn Python. After two days I got a call and they asked me to come for interview. I was delighted but tense at the same time as I had not prepared anything for interview. So, I had not slept that night I had revised all my basic concepts of programming language which I was knowing that was C, C++ and Java. I was very clear with OOPS concepts and also prepared some basic of HTML and visual basic which I had learned in my junior college. I had gone through the website of company so I was expecting internship under Web Development. Since I was not having any previous experience or any certification so I didn’t expect for a paid internship. They asked me some basic concepts of java like Function, Class, Data Types etc. and also the OOPs concepts. After a while they said as I don't know JavaScript and HTML much, they can't take me in web development. So, they offered me to learn an upcoming technology called as “Flutter”. There organization had also started with flutter so this was a great opportunity for me. As I needed internship to gain some experience and learn something new, I said yes to them. They showed me my place and ask me to join from tomorrow. I was really happy that day and little bit confident. 

On 3 December 2019 that was my first day of internship - I was really nervous but confident as well. I met some new peoples in the company. I started learning the Dart language at 10 am and finished it at 3 pm and also made my own notes. Then Sir had given me some YouTube videos link which I had to watch and make my notes. Next day sir cleared my doubts on dart and took me deep into dart with Asynchronous Programming. He also explained me the normal concepts on programming which I had never learned in college. I think the knowledge which I had gained in that one week was greater than the knowledge that I had in past 6 months. After that he had given me the videos of Udemy courses. First 10-15 days I had only seen the videos and gain only the theoretical Knowledge. I had not written a single line of code in dart. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/3928vesqn5d4r6gnq1ei.png)

So, after 15-16 days I had started with my first flutter project. As my laptop was not that good so I was unable to install emulator in it. I have to debug it in my phone. I can't define that happiness of making just a splash screen. Then I made my first project in which I used to take input, display it on next page, store it in Firebase and retrieve back from Firebase. This was my first app. It took me around a week to complete this. I took 1-1.5 days just to pass the data from one screen to other. Anyway, I made my first app and I was really happy with that. Further I just upgrade the app by using route. Then in next version I made a new screen where all the stored data would be displayed. I had used provider in this version. Further I had made a local database for the same app. I had used a library known as Moor in that. Due to the community of flutter was not huge at that time so I came out with problems which were not there on any platform like stack over flow or anything. Even there was no YouTube videos on the topic moor. Since my laptop’s configuration was not that good it used to crash repeatedly once in hour or sometimes once in a day. But I really enjoyed my one month in the company.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/jcihcbtd3uxubbsztkmi.png) 

I had also decided to work as part time intern after college starts. In January there was an NSS camp, after returning I just started with my new project. As I needed to focus on UI so sir and I decide to make a widget directory in which all the widgets list will be displayed and after clicking on them you will be directed to a new page which will show you its implementation. It became really difficult for me to complete this project on my laptop so on 31 January I bought a new laptop with a great configuration. Now this boosted my speed. I can use emulator now and also the running time was reduced. I completed the project in next one month with around 70 widgets some of them where animation too. So, after completing this project I was really confident. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/a0bav67extupf1ux2o7x.png)

Now I knew where we have to use which widgets, which widget has which property and stuff like this. I started working on a Food App. At that time that was the best User Interface I had made. I had made four screens with bottom navigator. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/zmks1kmf8azrsxyoyj5m.png)

In between my college got shut due to COVID 19 pandemic. This was the opportunity for me, now I could give more time to flutter. I made a COVID 19 app by referring YouTube videos and now I was very much confident, I can build any screen without animation. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ohvmk3868cohj3b12ms1.png)

I started one food app with its UI and completed in 6 days. I have made all the screens of the app, around 20 screens. And this UI was really nice compare to my last food app. Now I am again making a new app which is under progress I hope it would be completed soon. Now, I love Flutter and wish to be the best in the business. However, it’s Great to have flutter and I look ahead to learn new things in it.