Smriti Arora

Sign in

Hi everyone… I wanted to learn flutter for a long time. So, I was looking around for some resources to learn it. Some articles, videos here and there, but I didn’t get a correct roadmap. Then I decided to take a course and it approximately had some 300+ lectures. So, it was very time consuming. Another way that would have been is to read the documentation which is again too vast.

Image source: https://c.tenor.com/tF9WZnhYQugAAAAM/so-many-things-clintus-mcgintus.gif

So, I thought to write an article which would give a quick start intro to anyone trying to learn flutter .

Without further ado, let’s get started…

What is…

One day, I was randomly surfing the internet just curious about any new languages. I came across this word: FLUTTER. So, some basic questions hit up my mind like What is flutter? Why flutter? Is it worth learning? I also had all these questions hovering in my mind like most of you when you hear about any new language. Then I became really curious and wanted to learn it for a really long time but couldn’t get a chance.

Image source: https://c.tenor.com/E3SGDcyydMMAAAAM/batman-hmm.gif

And then one day, I finally took up a full-fledged course on flutter and tried my hand on it.

This article…

Before we dive into using RxSwift for our app. We should definitely ponder over the “why factor” for the same. Why do we need RxSwift and why not use the conventional method.

So, the major drawback with the conventional method is that we have to manually maintain states and operate the calling of update state functions leading to huge if-else ladders, switch cases, etc. To cut all this chaos, an angel 🧚🏻(RxSwift) descends from the heavens and takes us to the land of Reactive programming. (Sorry about that! The hidden poetess in me tends to peep out sometimes!🤣)

Image source: https://thumbs.gfycat.com/GrandAngryBackswimmer-small.gif

While there…

Firstly, What is the architecture for an app? An architecture is basically how you bring together the building blocks of your app i.e. the program files, code and it’s distribution, so it is well readable, understandable, logical, and most importantly modularly reusable.

Image Source: https://thumbs.gfycat.com/ActiveWarlikeCopperbutterfly-max-1mb.gif

This article will give you a good idea about “MV(X)” ios architectures majorly being MVC and MVVM.

What is MVC?

MVC stands for Model View Controller. It has been one of the most popular as well as easy-to-understand architectures being used for developing iOS applications.

  • Models are basically classes that hold data. These can include codable files, network files, constant files…

Cocoapods is a dependency manager which is used to include third-party libraries in iOS and mac projects. All the libraries that you want to include in your project are added in a Podfile and then we can simply run a pod command on the terminal to install the added dependencies in the podfile. When installing, the libraries are downloaded and linked to an Xcode workspace which then onwards is used to move further with the project.

Before diving right into the article, let’s get a brief idea of what is reactive programming.

Image Source: https://viblo.asia/uploads/da761eb4-5859-4316-b3c5-bf534fa55d90.png

Reactive programming basically means relying on entities emitting elements, subscribing to its changes and reacting to those changes. So, reactive programming saves you from having to re-check states and manually putting conditions in your code. It remarkably reduces the code lines and makes the code cleaner and easier to manage. Most importantly, it manages asynchronous code execution in a very elegant manner owing to its observable-subscriber method.

This article will give you a quick skim of elements of Reactive programming in just 4 min…

Smriti Arora

iOS developer, content creator, music enthusiast ✨✨💫💫

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store