I write articles on various new innovations, mostly in the field of Mobile App Development. The articles are published across various blogs as well as on Medium:
I write articles on various new innovations, mostly in the field of Mobile App Development. The articles are published across various blogs Currently, working as a Technical Writer freelancer at Codemagic. I also publish articles on Medium.
Received over 250K+ views on Medium.
I have authored and contributed to two e-books that are published by Codemagic.
Flutter Libraries We Love
This e-book lets you fast-forward through more than 60 packages on pub.dev to find the most valuable ones to you. They are sorted into 11 different categories:
🚦 State management
✍️ Text and fonts
📍 Location and connectivity
📷 Images and videos
📚 Data persistence and file system
🚀 Animations and transitions
🏗 Code generator and build tools
The e-book is available here for FREE.
More and more companies value the time of their developers. This means that they don’t want to waste valuable developer resources on things that could be automated. CI/CD replaces manual intervention and helps to build, test and deliver mobile apps faster than ever before.
The topics that are covered in this e-book are:
✦ Concept of Continuous Integration and Delivery
✦ Difference between the CI for mobile vs web
✦ Benefits of using CI/CD
✦ Talk about choosing the CI/CD provider
✦ Take a glance at CI/CD for businesses
✦ Thoughts about the future of CI/CD
The e-book is available here for FREE.
How to run React Native Detox tests on Codemagic
Let's take a look at one of the most popular end-to-end testing libraries for React Native, called Detox, and let's set it up to run on Codemagic.
Learn how to run automated UI tests on real mobile devices using AWS Device Farm and how to connect it with Codemagic.
Integrating SonarQube with Codemagic
SonarQube is the leading tool for continuously inspecting the Code Quality and Security of your codebase. Learn how to integrate SonarQube with Codemagic.
How to build responsive layout in Flutter
There is no hard-and-fast rule for designing a responsive layout in Flutter. But there are many approaches that you can follow while designing such a layout.
Scheduling and managing Google Meet events in Flutter
Learn how to schedule and manage Google Meet events using Calendar API in Flutter. You can even send email notifications to the participants. Cool, isn't it?!
Introduction to the core concepts of Android Navigation
Navigation is one of the core concepts to master if you are working on any Android app that has a complex navigation system. Properly handled navigation also helps to reduce any security flaws in your app through the implementation of functions like authenticating the user before navigating to any sensitive content in the app or preventing any sensitive information from being shared with other apps on the device.
There have been constant improvements to the navigation system used in Android over the past year, and this has introduced a lot of new concepts.
In this article, I have covered some of the important concepts of Android Navigation that come with the Android Jetpack's Navigation component.
Flutter module + Native Android (AAR) and iOS (Podfile)
Learn how to integrate a Flutter module into your Android project (using .aar) and iOS project (using Podfile) and interact with the module.
Designing complex UI using Android ConstraintLayout
ConstraintLayout reduces a lot of the challenges of building complex layouts, as you can now design them using the GUI of Layout Editor by just dragging UI elements into a visual design editor instead of writing layout XML by hand.
You can take full advantage of this Layout Editor while using ConstraintLayout (part of Android Jetpack libraries). It uses a flat view hierarchy and also provides some performance benefits.
Check out this article to simplify your Android UI design style using ConstraintLayout.
Flutter web: Firebase Authentication and Google Sign-In
In this article, I have covered a really important topic — authentication for your web app. If you want to create any kind of web app for a practical use case, you will definitely need it. In-app authentication is necessary if you want to restrict users based on their different access levels. It also helps to provide a more personalized experience to each of them.
We will mainly look into two types of user authentications:
* Authentication via email and password
* Authentication via Google Sign-In
I will be using Firebase Authentication for our purpose, as it is very easy to use with a very minimal setup.
Flutter web: animations and dynamic theming
This is the second part of the Flutter web article series. In the previous article, we finished the basic UI design of the web app and also made it responsive. Now we will add some animations and dark theme support to it as well.
Flutter web — getting started with responsive design
Flutter web has been out there for quite some time and is currently in the beta stage. Nonetheless, it is quite stable and the plugin support for Flutter web is also improving fast. So if you haven't yet had a chance to check it out, this is the perfect time to hop on and give it a try.
In this article, I have shown how to get started with a Flutter web project and make it responsive.
How to build native iOS apps on Codemagic
Learn how to configure the codemagic.yaml file for building Native iOS projects on Codemagic CI/CD.
How to build native Android apps on Codemagic
Learn how to configure the codemagic.yaml file for building Native Android projects on Codemagic CI/CD.
Creating a route calculator using Google Maps in Flutter
If you want to conveniently convey details of places, directions, and routes to the end-user, Google Maps is an essential part of your app. Luckily, there is an official Google Maps plugin available for Flutter.
In this article, I have shown how to integrate Google Maps in Flutter to find a route between two places and calculate its distance.
How to take advantage of Dynamic Workflows using Codemagic API
You can now configure your builds using environment variables and software versions dynamically with Codemagic API. If you have multiple similar workflows for the same project, you can now combine them into one and create parametrized API calls. This way, you can run your workflows without having to change the settings in the UI or codemagic.yaml. This can be quite a useful feature for white-label apps.
My Journey building a Video Trimmer package for Flutter
Get on board with my journey of building a video trimmer package for Flutter.
How to perform text recognition using Firebase ML Kit in Flutter
It is a myth among app developers that integrating machine learning (ML) into any application is a tough job. With recent innovations in ML tools, it is much easier to implement ML into your apps, even without having any expertise in the field of machine learning.
How to draw and animate designs with Flutter CustomPaint Widget
Learn how to get started with Flutter CustomPaint widget for drawing some custom designs and adding animations to them.
How to dockerize Flutter apps
Presently, app development does not only rely on writing code. Multiple languages, architectures, and environments make the app development workflow complex and hard to maintain effectively and keep updated.
Docker helps to simplify and accelerate the development workflow while offering the freedom to choose any tool and maintain different development environments for each project.
In this article, you will learn how to use Docker to simplify your Flutter app development workflow.
Creating an IoT based Flutter app to interact with any home electrical equipment
In this article, I have demonstrated how you can give any normal AC power plug/socket or switch a touch of magic using IoT.
How to use remote access to Codemagic virtual MacOS build machine
Establish a temporary remote connection to the virtual MacOS build machine on which your Codemagic builds run.
iOS Code Signing and Publishing with Codemagic .yaml file
How to distribute Native iOS projects containing Flutter modules using Codemagic CI/CD