Skip to main content

A Brief Guide about Docker for Developer in 2023

  What is Docker? Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Docker is based on the idea of containers, which are a way of packaging software in a format that can be easily run on any platform. Docker provides a way to manage and deploy containerized applications, making it easier for developers to create, deploy, and run applications in a consistent and predictable way. Docker also provides tools for managing and deploying applications in a multi-container environment, allowing developers to easily scale and manage the application as it grows. What is a container? A container is a lightweight, stand-alone, and executable package that includes everything needed to run the software, including the application code, system tools, libraries, and runtime. Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package. It allows

Tools and tips I wish I knew when I started Android development

 Just in case, I’m a fulltime Android developer since more than 4 years now. Step by step I’ve learned few things. It’s hard to remember everything because technologies move. But one of them is that we all need to help beginners.

Beginners offer new points of view and ideas. They’re shaping our projects, our teams and (kind of) the future of platform.

So I’ll try to give tips or tools, but of course first you may follow Android guidelines. Use Jetpack libraries by default for example.

JetBrains Toolbox

Manage your tools with ease

You may know that Android Studio is based on IntelliJ IDEA. By default you can download Android Studio install software on Android Developer website. And each time you what to update, you’ll have to download the new version and re-download the install software.

To avoid this, JetBrains offer an its toolbox app which gives an easier way to track update and install them. Of course, there’s not just Android Studio but you can totally skip JetBrains IDEs.

There’s also a tab where you can find your most recent/bookmarked projects.

🔗 https://www.jetbrains.com/toolbox-app/

Android codelabs

Guides, tutorials & hands-on coding experience

Google Codelabs offer a great opportunity to learn new things. You can update your skills about librairies you’re not up-to-date yet. They will guide you with the necessary documentation and code (clonable or starting from scratch)

Android Developer Relation team works hard to maintain it. So even if there’s still old topics, many of them are really recent.

It’s a great start for beginners and experimented contributors also. 🙂

🔗 https://codelabs.developers.google.com/?product=android

ADB Idea

Adds the ADB commands to Android Studio

Bored to open the app settings manually on the device in order to clean and revoke the permissions for example ? This IDE plugin is for you!

It adds shortcuts directly in Android Studio to do those things fast. By far my favorite plugin.

I should give 5 stars and a good review right now!
EDIT: Done.

Also, the popup can be launch with shortcut to go even faster.

🔗 https://plugins.jetbrains.com/plugin/7380-adb-idea

srccopy

Display and control your Android device

A basic for me when I work on physical devices. This really small software helps mirroring the device on your computer. You’ll be able to use your mouse and your keyboard as inputs.

It uses ADB and is a great alternative of Android Studio Wifi pairing solution.

🔗 https://github.com/Genymobile/scrcpy

Timber

A logger with a small, extensible API which provides utility on top of Android’s normal Log class.

This is a logger provides utility on top of Android’s normal Log class.

It helps avoid logging in production because of its setup and because you’ll replace every Log call by Timber call.

🔗 https://github.com/JakeWharton/timber
🔗 KMM alternative: https://github.com/AAkira/Napier

Options: Open files… / Always Select…

Damn! When I reinstall Android Studio, every time I activate those two options.

You’ll navigate faster into the project files and so understandard faster an existing project.

GitKraken

Includes an intuitive Git GUI & powerful Git CLI

When you have to deal with git, this client is really visual.

This desktop client helps understand where branches are. Which one is working on. It helps fetching or cherry-pick. 🍒

You can plug it to GitHub or GitLab. Enjoy managing you merge-request or pull-request also inside the client. See the tags. Use GitHub Actions right inside it also.

Sadly*, it’s free for open-source projects only. But if you want to use it in your company, you can go to GitKraken Entreprises plan.

*️ but understandable

🔗 https://www.gitkraken.com/

Now In Android

A fully functional Android app built entirely with Kotlin and Jetpack Compose

UI, Architecture, modularization, testing, … the promise of this repository is to build something at the state of the art of the Android development.

It’s in work in progress. I guess it will be eternally in WIP. But you can clone it and learn how the best practices are set up. A reference for any developer who wants to stay up-to-date.

🔗 https://github.com/android/nowinandroid

By the way, Google has already published other apps on GitHub. Like Google I/O or Android Summit apps.
It’s a good idea to go snooping source code of great apps, when it’s available.

Material Symbols

Also known as Google Material Icons, this set of icons is a standard.

If your project don’t have a design system or at least a designer, you will quickly need this resource. You’ll be able to download PNG or SVG for your app. And take time to find the right one, because there are over 2,500 glyphs.

Like this, your app will be a little more attractive. And maybe your users (or your team) will enjoy it much better.

🔗 https://fonts.google.com/icons?icon.platform=android

Android roadmap

The Android Developer Roadmap suggests learning paths to understanding Android development.

Now In Android (NIA) is nice. But there’s also a lot of other stuff to know. I might say, “a path” that every developer can take to know how to dev for Android.

Because NIA is focusing on the last guideline, it’s not covering HOW a lot of apps are legacy built.

This time it’s really REALLY exhaustive. You don’t need to learn everything from this roadmap but at least knowing that there’re alternatives.

🔗 https://github.com/skydoves/android-developer-roadmap

Android Developers on YouTube

Get the latest Android news, best practices, live videos, demonstrations, tutorials, and more!

It seems a bit obvious, but @

 YouTube channel is full of great videos. You’ll get anything you want about tools, development, librairies. Perfect to learn things already done in the past, and news about incoming Android features.

Don’t forget to subscribe and activate the notifications. Also Kotlin YouTube channel is pretty interesting.

🔗 https://www.youtube.com/AndroidDevelopers
🔗 https://www.youtube.com/Kotlin

Social networks and blog websites

And finally, a good place to learn stuff or ask questions might be on social networks and blog websites.

By the time, I’ve created my own Twitter list on Android developers. Reading this specific feed helps me discovering threads and hot topics.

Slack communities are another fantastic option.
By the way, French Slack is nice. 🇫🇷

Ans lastly, on those blogging platforms you’ll find really nice content. Don’t forget to check the posting date and the comments also.

Thanks for reading

If you reach that line, thanks. I hope it helps you. I mixed different kind of tips, tools, or links. Like this you can be geared up. And also you can look up a bit because Android is continuously evolving.

If you’re beginner and found this post useful, give a clap 👏.
You can contribute in the comment section. 😉

Comments

Popular posts from this blog

My First Immersion in Apple Vision Pro

  This morning, I spent half an hour trying the Apple Vision Pro headset. Here’s the punch line: This is one freaking mind-blowing piece of tech. I mean, when Steve Jobs unveiled the iPhone in 2007, you could feel the paradigm shifting in real time. This was like that, but better. In case you’ve been on news blackout for the last 24 hours, we’re talking about Apple’s augmented-reality headset. Its development was supposedly insanely expensive, internally contentious, and repeatedly delayed. But the result is so advanced and polished, it makes Meta’s VR headsets look like Blackberries. Then again, you can pick up a Meta Quest 3 for $500. Apple’s new headset won’t be available for sale until early 2024, and the price “starts at” $3,500. I know, I know—I read Twitter, too. “$3,500? Are you insane? What’s the use case? This thing is gonna belly flop like the Newton!” Also: “Nobody wants VR! Not a single VR headset so far has succeeded with the masses. It’s a dead idea!” But be careful. App

Flutter — Clean Code

  Introduction: Clean code is essential in every programming language to make the code more readable, maintainable, and understandable. The same is true for Flutter. Clean code practices in Flutter are the best way to ensure that your code is easy to understand, easy to maintain, and easy to modify. In this article, we will discuss some of the best clean code practices in Flutter with examples. Follow Flutter Naming Conventions: When writing code in Flutter, it is essential to follow the naming conventions recommended by the Flutter team. Flutter follows the Dart language naming conventions. These conventions help other developers to understand your code easily. Here is an example of how to name a class in Flutter: // Good naming convention class MyClass {} // Bad naming convention class my_class {} Use Descriptive Variable and Function Names: Use descriptive variable and function names so that other developers can understand the purpose of the variable or function. Avoid using gen