You might have noticed that there are quite so many courses, tutorials and articles online teaching Firebase. However the problem with these is that most of the time they are incomplete and don't teach you how to use Firebase using modern design patterns. Most of these courses and documentation only teach you simple techniques making it difficult to integrate their code into your own projects. We've taken alot of time calibrating our code so that it is easily extensible and pluggable into all types of projects. Luckily for us, Google had introduced Android Jetpack a few years ago, thus we are able to utilize Clean Architecture in our projects.
Our projects try as much as possible to be generic and easily customizable. Using MVVM allows us to achieve this. We will be releasing new projects into this course every month, so buying it early allows you to save money and keep getting new projects that respect the latest techniques.
Why CRUD Apps?
Well all types of applications' main role is to manipulate data. And that data manipulation is what is called CRUD(Creating Reading Updating Deleting). If you master these three then you can create any type of application imaginable. These make up the core of any app. And doing it using Clean Architecture ensures you will have a solid code base you can use to easily start any type of app and have something working within a few minutes. That's why we have dedicated this course to creating CRUD apps with search and pagination and storing data offline as well. You can take advantage of that of using what we provide you here as a template to start any type of project.
What is this Course about?
Well in short: Firebase Realtime Database and how to Create several full CRUD applications and apply several caching techniques.
We will be creating full applications making use:
Firebase Realtime Database as our data store.
You will learn how to insert select update delete search and paginate/page firebase realtime database data.
You will learn how implement an efficient offline fast approach in development. This means the app will have offline capability even if users completely have no internet connectivity. Through this approach users are still be able to browse data, search data. However to modify we need internet connectivity since our main data store is Firebase Realtime database not SQLite.
You will learn how to apply several aggresive caching techniques like custom permannet Hard Disk caching, caching in SQLite using Room and memory caching.
How to use MVVM - Model View ViewModel to write easy to understand and testable app. You will be surprised how easy our code is to enhance or maintain.
Use several Android Jetpack components like LiveData, ViewModel, Room etc.
Brief History of Firebase
Since the rise of the world wide web in the 1990s, there was only one main way of storing data in the cloud, that was through HTTP web services. You had to write server side code and host in a webserver, then write your web app and talk through HTTP methods. This was still the main way of doing things even with the rise of mobile development in the 2000s. However cloud technologies quickly started to arise like parse and Firebase. Firebase is a mobile and web application development platform developed by Firebase, Inc. in 2011, then acquired by Google in 2014. It is now the main cloud storage technology for mobile development. Firebase Realtime Database is one of the suite of products included in Firebase. It has the following advantages:
It's realtime and allows our data to be synced across a multitude of devices.
It's easy to use and integrate into our projects.
It's cross platform.
It is well maintained by Google engineers. There is also reasonable stability despite the updates.
It has an honest free package.