Placeholder Image

Subtitles section Play video

  • To become a mobile app developer, there are 5 essential skills.

  • Let's go over them one by one.

  • There are basically two ways to build mobile apps, native or cross-platform.

  • With native development, we can build an app that runs only on a particular platform like iOS or Android.

  • This approach gives us full control over the capabilities of the target platform, resulting in great performance and the best user experience.

  • However, the downside is that if you want to build the same app for a different platform, you have to create a separate project in an entirely different language and ecosystem.

  • This means two separate projects and two sets of bugs to fix.

  • That's where cross-platform or multi-platform development comes to the rescue.

  • With cross-platform development, we can reduce development time by reusing the same code for different platforms and potentially reduce bugs.

  • Fixing a bug once means it's fixed across multiple platforms.

  • Now, for native development, we have a few options.

  • For iOS, we can use Objective-C, which is an older language, or Swift, which is modern and preferred.

  • For Android, we can use Java, which is a traditional language, or Kotlin, which is modern and preferred.

  • For cross-platform development, the option depends on the framework or toolkit we use.

  • There are several cross-platform toolkits like React Native, Flutter, Kotlin Multiplatform, Maui, and a few others.

  • Let's dive into each one.

  • First off, we have React Native, which was released by Facebook in 2015.

  • This toolkit lets you build mobile apps using JavaScript and React, which is a popular library for building web user interfaces.

  • Some big names using React Native include Microsoft Office, Skype, and even Facebook itself.

  • Then we have Flutter, which is a Google product that came out in 2017.

  • Flutter uses a programming language called Dart, which takes the best parts of JavaScript, Java, and C Sharp.

  • Some examples of apps built with Flutter are eBay, Alibaba, and Google Pay.

  • It's really powerful and gaining a lot of traction.

  • Now let's talk about Kotlin Multiplatform.

  • This is the newest player released by JetBrains, the same company behind tools like IntelliJ, PyCharm, and WebStorm.

  • In my opinion, the best IDEs in the world.

  • It uses the Kotlin programming language, which is a modern language inspired by Java.

  • Apps like McDonald's, Netflix, and Cash App are built with Kotlin Multiplatform.

  • Finally, we have MAUI, which stands for .NET Multiplatform App UI.

  • Introduced by Microsoft, MAUI allows you to build native mobile and desktop apps using C Sharp and .NET.

  • These days, most companies prefer to use multiplatform development to reduce their costs.

  • This means we can rule out native development for now and focus on cross-platform options.

  • Now, which framework is the best?

  • Well, there is no such a thing as the best framework.

  • Yes, there are people out there like our superstar, highly opinionated developer, Mr. John Smith, who swears by React Native, but there are others with a different opinion.

  • The reality is that neither of these frameworks is perfect.

  • Each has its own problems and quirks that you'll discover once you start building real applications beyond YouTube tutorials.

  • And the reason for that is that they try to support two entirely different platforms at the same time.

  • So which cross-platform solution should you choose?

  • Well, it depends on two things.

  • First, on what languages and technologies you're familiar with.

  • For example, if you're a C Sharp developer, MAUI might be the easier route.

  • If you know web technologies like JavaScript and React, you might want to go for React Native.

  • It's an easier transition from web to mobile development.

  • The other factor is job opportunities.

  • There are often more jobs available for React Native and Flutter.

  • Here you can see the number of open positions for different types of mobile app developers in the US.

  • Now, this is the current situation here and may be different where you live.

  • Maybe there are more job opportunities for a Flutter developer.

  • So I recommend doing your own research rather than taking my or someone else's advice about which route to choose.

  • But realistically, if you're looking for a career in mobile development, you would have to choose between React Native and Flutter.

  • If you have basic web development skills, React Native is a better route.

  • Otherwise, I would recommend Flutter because Dart, which is the programming language that Flutter uses, is a nicer language to work with than JavaScript.

  • It's more modern and doesn't have the quirks and weird parts you find in JavaScript.

  • So decide between JavaScript or Dart and commit to a study plan.

  • I believe if you dedicate three to five hours every day, you can learn the essence of either of these languages in about two months.

  • To help you on this journey, I've created a free supplementary PDF that breaks down the specific concepts you need to learn for each skill.

  • It also includes several project ideas to help you practice and apply what you have learned.

  • It's a great resource to review your progress, find gaps in your knowledge, and prepare for interviews.

  • You can find the link in the description box.

  • By the way, I have a bunch of tutorials on this channel and complete courses on my website if you are looking for structured learning.

  • Again, links are in the description box.

  • The next thing you need to learn is a version control system like Git.

  • Git is not a programming language.

  • It's a tool we use to track changes to our code and collaborate with others.

  • Git and GitHub, which is a platform that hosts Git repositories, are essential for every developer.

  • Now, Git has a ton of features, but you don't need to know them all for everyday use.

  • Think of it like the 80-20 rule. 80% of the time, you use 20% of Git's features.

  • One to two weeks of practice is enough to get up and running.

  • Now, building mobile apps often involves working with data structures and implementing complex algorithms.

  • This is where a lot of self-taught programmers struggle because they try to skip ahead and learn more and more languages and tools without learning the fundamentals of computer science.

  • Data structures and algorithms are critical subjects taught to computer science students, and they are often covered in tech interviews, especially at big companies like Apple, Google, and Microsoft.

  • While you can skip this step and go to the next, as someone who has had the privilege of teaching millions of people, I highly recommend you not to overlook this step.

  • Otherwise, you're going to feel the pain later in your career.

  • So spend one to two months studying classic data structures and algorithms.

  • This will give you a strong foundation in programming and problem solving.

  • The next thing I would recommend learning, which again, a lot of self-taught developers miss, is design patterns.

  • Design patterns are proven solutions to common software design problems.

  • There are 23 classic design patterns documented in the book Design Patterns by the Gang of Four.

  • Many of these patterns are used in mobile frameworks, so learning them will give you a deeper understanding of object-oriented design principles and how these mobile frameworks work under the hood.

  • Now, I have to tell you, this book is pretty old and written in C++.

  • Honestly, it's a difficult read because many of the examples in the book are dry and not quite relevant to modern software.

  • That's why I've created a very hands-on and pragmatic course on this topic, where I use Java and modern examples found in applications we use every day.

  • You can see how design patterns are used to solve problems in modern applications.

  • Whether you want to take my course or use a different resource, I believe if you dedicate a few hours every day, you can have a pretty solid understanding of design patterns in about two months.

  • Alright, the next thing you need to learn is a mobile framework, which we talked about before.

  • For Dart, you should learn Flutter and for JavaScript, you should learn React Native.

  • Assuming you have a solid background in programming, you can learn either of these frameworks in about two months.

  • So if you dedicate a few hours every day and follow this roadmap, you'll have the necessary knowledge to apply for an entry-level mobile developer job in about 8 to 12 months.

  • If you have any questions, please let me know in the comments below.

  • I'll do my best to answer you right here or in my future videos.

  • If you enjoyed this video, please give it a like and subscribe for more useful content.

To become a mobile app developer, there are 5 essential skills.

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it