January 15th, 2020 was the day I decided to put my cringey first video out in public. A day later I checked back and it got 4 views. Now almost 11 months later the channel has amassed almost 10,000 subscribers and over 40,000 monthly views. Here’s how I did it, and how I believe others can do it too.
Before we start, I know “almost 10,000 subscribers” is a bit of a stretch. As I’m typing it I am at 8,725 subscribers, but the 10,000 makes a much catchier introduction. …
With all the new technologies and frameworks, it is becoming easier and easier to create apps that “work”. I put the work in quotes, because even though the app might function, it will most likely not scale and will probably have some big bugs as well. Without good coding fundamentals, you will almost certainly have a tough time building maintainable and scalable code.
A fundamental is an adjective that describes forming a necessary base or core. By this it means to have a good understanding of the core of what coding is. Frameworks like React and Flutter are just complex combinations of the fundamental underlying code. …
Since I was in highschool, I never wanted to work a 9–5 job. I have been the person that likes to have control of what I am doing, and with the things that I build.
As I was learning about CI/CD I accidentally committed my database configuration file to my GitHub account, to make it work.
Only after I did this did I discover Environment Variables and they can be used for sensitive things like this. So I quickly deleted the database configuration file, but I still had one problem. This was an open source project, so everybody is still able to see my complete configuration file inside the commit history.
Fortunately there is a way to remove it. You will not be able to do this with GitHub desktop as of yet, so you need to use the command line. …
As flutter grows the number of State Management solutions grows just as quickly. When I first started exploring Flutter there were only a couple options now there is Redux, ScopedModel, Provider, BLoC, RxDart, States Rebuilder, Get, as well many more that I can’t list off the top of my head.
Although I haven’t tried all of those listed above I have used BLoC, Provider, States Rebuilder and have at least looked into the other ones. If you want the TLDR, they’re all great and you can’t really go wrong. All of them will most likely solve the problems that you wish to solve. However each one of them has its’ own differences that make them unique. …
There’s been one thing missing from my repertoire during my Firebase journey and that is streams. I knew it was an important topic that I needed to learn, but I wasn’t sure how to manage the stream and everything that comes with that. But then I learned about Provider. As I learned about Provider, I learned about StreamProvider, and finally things started coming together.
Reading data on request (as I had been doing), you simple get the data from the server once. If you ever need to update the data, you need to call a function to get the data again. Retrieving data once has a lot of use cases. For example on Instagram, you only want to update the feed when the user pulls down to refresh. But what about cases where you want to see the information update as soon as the information in firebase gets changed. That’s where streams come in. Streams will receive a notification when the piece of data you are “streaming” is changed. It then will update that data within your app, so everything is always up to date. For updating the feed on Instagram, that doesn’t make sense. If you follow a lot of people it would be updating constantly and mess up how far you have scrolled down. …
Disclaimer: In this article we will be using mobile app development as an example, but I believe this development process can be applied to most other software projects.
Creating an app from scratch seems like an unfathomable amount of work, and can sometimes even seem unachievable. But I promise you, if you prepare and take it all step by step, you can create any app or even any project. There are really 4 steps that need to be addressed. The 4 steps may vary depending on the project, but they exist nonetheless. The 4 steps are:
Prototype…
One of the biggest things that gets overlooked whenever people start a project is planning. I have noticed this on individual projects, as well as in the corporate environment. On individual projects, there might not be any planning at all, while in corporations there might just not be enough. So here I will give the minimal planning that I do for every flutter project that I start, but a similar planning method can be applied to any other OOP language. We’re going to go over figuring out your Use Cases (Features), Diagrams, and Folder Structure.
First things first, you need to figure out what the actual app is going to be, and what it is going to do. Without knowing that there can be no planning. I like to sketch out all the app screens that there will be, and think about how I would use it, and what features it will have. Then create a list of every single thing you want the app to accomplish. Not how you are going to accomplish it, but just the “what” it will accomplish. Let’s take any app that a user needs to log in, this use case should say what method they will use to log in (Email & Password, Google Log In, Fingerprint, etc). It should mention whether they will need to login every time they open the app. So one example for a Use Case here would be “User needs to login using email and password every time they open the app”. Now you need to go through the whole app, and make sure you write these down somewhere, and you can use it as a checklist of what needs to be accomplished when you’re writing the app. …
When creating any larger app in flutter having a way to manage state is essential. There are lots of different types of state management options out there. Bloc, RxDart, MobX are just a few names you might have heard around the flutter community. I’m sure they all have their own ways in which they are useful, and can help different projects accomplish different things, but my personal favorite way to control state is using Provider.
Provider as stated by its creator Remi Rousselet (https://twitter.com/remi_rousselet) isn’t a state management solution by itself. It’s more of a tool to use to create state management. In fact some packages out there use Provider to create a state management package for you. And even though this seems counter-intuitive, this is the main reason I prefer Provider over other solutions. With Provider, even though you have to do more of the work, you are in complete control of everything that is happening with your state. …
The flutter bloc pattern has become one of the most popular design patterns in the flutter community. At almost 4,000 stars on GitHub (at the time this article was written), bloc package provides a powerful tool that helps you build build reactive and maintainable mobile applications.
So what exactly is block and why do people use it?
Bloc stands for business logic component and it is used for managing state within an application. This is so all the things that change within the screen can be handled from one component, instead of handled throughout the app, in various locations.
Let’s get into the core components of the flutter bloc package. …
About