kokobob.com

Choosing Between Flutter and Kotlin: My Journey to a New Skill

Written on

Chapter 1: The Need for Change

As the new year rolled in, I found myself yearning for a fresh start. The previous year had left me feeling stagnant, and I sought an escape from my growing boredom. My solution? To dive deep into a new skill—specifically, something outside the realm of JavaScript, which I had been working with for years and was starting to find monotonous.

I took to Twitter and LinkedIn to ask my network a simple question: Flutter or Kotlin? Here’s what the Internet revealed:

Poll results on choosing Flutter or Kotlin

Despite the lack of engagement—likely due to the timing of my poll on Christmas Eve and the absence of context—I ultimately had to make a choice. After much contemplation, I opted for Flutter.

Section 1.1: The Decision-Making Process

So, how did I arrive at this conclusion? Here’s the thought process and research that influenced my final decision.

Resources—What Are My Options?

When it comes to anything JavaScript-related, resources are abundant. However, I felt that the novelty of learning something new was fading. Diving into a new programming language can be daunting, especially when you're unsure where to find reliable resources.

To kickstart my journey, I watched a quick video by Fireship that provided a brief overview of Kotlin and Flutter. While I had some prior experience with both, it wasn't enough to grasp their full potential.

In my experience, once you've worked with various coding languages, they often start to blur together. Fundamentally, they share similar concepts, with only slight variations in syntax and terminology. Just like how a cat is called "chat" in French and "katze" in German, programming languages can be more alike than different.

I delved deeper into crash courses for both Flutter and Kotlin, finding a mix of free and paid resources. Here’s a compilation of what I explored to help me make my final choice:

Kotlin Resources: - FreeCodeCamp.org — Learn Kotlin Programming — Full Course for Beginners (13hrs) - TraversyMedia — Kotlin Crash Course - Lodash — How I learned Android development with Kotlin in 1 month - TraversyMedia — A Simple Android App with Kotlin - Donn Felker — Freelancing for Software Developers — Kotlin Tutorial for Beginners: The Kotlin Programming Language Full 9-hour Course

Flutter Resources: - Fireship — Flutter Basic Training - 12 Minute Bootcamp - FreeCodeCamp.org — Flutter Course for Beginners — 37-hour Cross Platform App Development Tutorial - Flutter Mapp — Flutter Tutorial For Beginners in 1 Hour - dbestech — Flutter 3.0 Master Class for Beginners to Advanced 2022 | Ticket Booking App Development Tutorial

This exploration led me to ponder: What do I want to create? What are my goals?

Section 1.2: Defining My Goals

I found myself pondering these questions a bit arbitrarily. I was searching for solutions before clearly identifying the problems I wanted to address.

The first question was straightforward—I aim to develop a mobile app. Not just another JavaScript-based application, but a truly native one that performs efficiently.

Conventional wisdom suggests that native apps function more effectively, and I wanted to test this theory myself. If I solely considered this factor, Kotlin would be the more logical choice due to its native compatibility with Android, especially as Google phases out Java in favor of Kotlin.

So, why did I choose Flutter? The answer lies in my desire to support iOS. As an iPhone user, I wanted the flexibility to publish my apps on the App Store. However, I currently lack a Mac, which I plan to acquire in 2023—once I save enough, as kids can be quite the financial commitment.

In the meantime, I still wanted to engage in mobile app development, and Swift was off the table for now. Thus, Flutter appeared to be the ideal option. My plan is to start with Android and expand to iOS when possible.

Chapter 2: The Year Ahead

From a career standpoint, Kotlin might be the wiser choice for my local job market, yet from a creator's perspective, Flutter has the edge. According to Algowid, there are roughly 470,000 job opportunities for both Kotlin and Flutter, with Flutter developers earning around $72,166, slightly less than Kotlin developers at $80,760. However, Flutter's hot reload feature simplifies the development process, making it more enjoyable.

Flutter also allows for genuine cross-platform development, compiling into native apps without relying on a bridge. While Kotlin offers cross-platform capabilities as well, I couldn't find sufficient beginner-friendly resources to spark my enthusiasm.

Ultimately, the key to learning any programming language is to maintain a level of excitement; otherwise, it can quickly become a chore. Flutter may not be the best fit for everyone, but at this moment, it captivates me. Perhaps in the future, I'll revisit Kotlin with a different perspective.

In conclusion, this article serves as a reflective piece for me—a necessary exercise to realign my goals and direction. Stay tuned for upcoming Flutter content as I transition from a novice to a more skilled developer.

Share the page:

Twitter Facebook Reddit LinkIn

-----------------------

Recent Post:

# Transform Your Mood: Ditch the

Discover how to shift your mindset and embrace optimism for a happier, more fulfilling life.

Empower Yourself: Break Free from the Opinions of Others

Discover the importance of self-worth and learn how to cultivate self-love instead of relying on others for validation.

Understanding the Impossibility of Exceeding Light Speed

Exploring why surpassing the speed of light is a fundamental impossibility in physics.

The Digital Life of a Millennial: Navigating Social Media

Explore the life of a millennial who navigates the pressures of social media, self-identity, and relationships in a digital age.

The Balance of EQ and IQ: A Comprehensive Exploration of Human Intelligence

An insightful exploration of the roles of emotional and intellectual intelligence in shaping personal and professional success.

Surfing the Waves of Life: Connecting with Your Soul

Discover how to connect with your soul through the metaphor of surfing, enabling a balanced approach to life's experiences.

# Transforming Adversity into Opportunity: A Path to Success

Discover how to turn challenges into valuable opportunities for growth and success.

# Navigating Medium: Is the Algorithm to Blame for Your Struggles?

Are you considering leaving Medium? This article explores the current challenges writers face on the platform and how the algorithm impacts visibility.