This was originally posted as a newsletter under Since Last Commit

Image for post
Image for post
Photo by Jessica Lewis on Unsplash

Introduction

Welcome to Since Last Commit, a newsletter that explores mobile development, release engineering and anything/everything related to Software Engineering.

As always, the goal of this newsletter is to share new discoveries and learn how we can become better developers.

Today’s topic is building cross-platform applications with Flutter. Recently, the Flutter team hosted their Flutter Day, a 24-hour educational event, along with their global Flutter Hackathon. Fortunately, I had the opportunity to virtually attend both. So stay tuned!

Cool Reads

Tip: Here I share my favourite quote of the week


Introduction

Hello everyone! Thank you for signing up for Since Last Commit, a newsletter that aims to bridge the gap between mobile development and release engineering. Through this platform, I would love to share anything/everything related on how we can build better products, become better engineers and be owners of every line of code we write that gets shipped to our users. I am not an expert by any means, but I hope to use this opportunity to learn along with you. Let’s get started!

Cool Reads

Tip: Here I share my favourite quote of the week

“Ask a programmer to review ten…


Skip the setup and start building your next Android project

Image for post
Image for post

Setting up an Android project can be a tedious task. One must download the correct set of tools, configure a continuous integration and continuous deployment (CI/CD) pipeline and share the standards on how to contribute to the project on GitHub. In this blog post, I’ll discuss how a template can help automate the process of setting up an Android repository.

GitHub Template

A GitHub template is a repository that contains files and directories that can be imported to a new repository upon creation. This is essential to organizations that wish to share the same development practices across various projects. For example, a…


Enable a faster feedback loop during Android development

Image for post
Image for post

I’ll discuss how fastlane can help automate the validation of your development prior to making a merge request.

Developing With Continuous Integration

Building software applications is a monumental task. It requires planning, testing and reviewing from peers. As an application tends to grow, the effort needed to maintain the application also increases. Hence, adding a new feature or ensuring that the codebase is bug-free starts to become more expensive to fix later in the development cycle. To find issues earlier, software developers follow the practice of continuous integration to build software applications at scale.

Building Blocks of Continuous Integration

Source Control — the ability to track, manage and merge…


Image for post
Image for post

Example

Diffuse is a tool to analyze the changes between two APKs. As new code continuously get merged into the mainline, the changes to the APK may go unnoticed. To generate confidence in what we build, Diffuse outputs a stream of useful metrics of the changes between two APKs in terms of size and count. Integrating this check in the development cycle can promote higher visibility on the state of the APK as well as provide early feedback to avoid unnecessary problems later on.

In this example, I have created an empty Android project on the master branch. With the help…


Snippets of the first edition of droidcon Toronto

Image for post
Image for post

It was an arctic Wednesday morning in the city of Toronto and as I stepped down from my commute, a new sense of excitement dawned on me. It was the first-ever droidcon conference in Toronto. For the past nine years, AndroidTO held the reputation of being the largest Android conference in Canada. It was not that long, when the news broke out that AndroidTO was no longer a thing and droidcon would be hosting the android conferences instead. Droidcon, if you’re not familiar, is the largest Android community that organizes more than 25 droidcon conferences around the world attracting more…


Image for post
Image for post

Suppose you are working on a cool idea for a mobile application. As you build out your features, you are constantly running the application on an emulator or a physical device and verifying that it works. Naturally, you are testing your application.

Testing is essential to building a robust software. As you continue to grow your application in features, the number of tests you will need to perform will increase proportionally to ensure nothing is broken. Testing provides validation on two aspects:

  • New changes are working as intended
  • New changes did not break any other parts of the application

Once…


Image for post
Image for post

The constant desire to learn something new has become second nature to me. Whether it be a new language or framework, it’s always exciting to start something fresh. Like for most people, the art of learning how to learn was first introduced in school. As some people could master a topic by simply reading the textbook, others preferred a more hands-on approach.

Personally, I loved going straight into the technical hands-on part. A lot of my side projects originate from ideas or technologies that I wish to try out. …


Image for post
Image for post
Photo by Daria Nepriakhina on Unsplash

University is a great opportunity to experience different strategies. As I conclude my undergraduate degree in Software Engineering at McMaster University, I am tasked with a full-year project for my capstone design course. The faculty of engineering promotes a technical and functional design course which combines the practical knowledge of computer science, ability of producing technical documentations and final implementation of a solution with real impact. In other words, one full-year course summarizing a student’s accomplishments with their academic studies. …


Image for post
Image for post
Photo by Alex Kotliarskyi on Unsplash

1,000 students. 36 hours of hacking. Free Food. Free Swag. And to top it all off, free prizes for the best hacks. These are some of the awesome reasons why one might want to attend a hackathon. Hackathons are a weekend-long event, where students from all over the world join and collaborate on building cool projects with access to new technologies as a team.

Over the past few years, the number of hackathons have been increasing throughout different campuses around the province. As I attend more of these events, I realize that hackathons are so much more than a competition…

Asad Mansoor

Software Developer

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