Placeholder Image

Subtitles section Play video

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

    要成為一名移動應用程序開發人員,需要掌握 5 項基本技能。

  • 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.

    通過原生開發,我們可以構建只能在 iOS 或 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.

    對於 iOS,我們可以使用 Objective-C(一種較老的語言)或 Swift(一種現代的首選語言)。

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

    對於安卓系統,我們可以使用傳統語言 Java 或現代首選語言 Kotlin。

  • 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.

    有幾種跨平臺工具包,如 React Native、Flutter、Kotlin Multiplatform、Maui 等。

  • Let's dive into each one.

    讓我們逐一瞭解。

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

    首先是 Facebook 於 2015 年發佈的 React Native。

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

    該工具包可讓您使用 JavaScript 和 React(一種用於構建網絡用戶界面的流行庫)構建移動應用程序。

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

    使用 React Native 的大公司包括 Microsoft Office、Skype,甚至 Facebook 本身。

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

    然後是 Flutter,它是谷歌在 2017 年推出的一款產品。

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

    Flutter 使用一種名為 Dart 的編程語言,它吸收了 JavaScript、Java 和 C Sharp 的精華。

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

    使用 Flutter 構建的應用程序包括 eBay、阿里巴巴和 Google Pay。

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

    它真的很強大,並獲得了很多人的青睞。

  • Now let's talk about Kotlin Multiplatform.

    現在讓我們來談談 Kotlin 多平臺。

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

    這是 JetBrains 發佈的最新播放器,該公司也是 IntelliJ、PyCharm 和 WebStorm 等工具的幕後公司。

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

    在我看來,這是世界上最好的集成開發環境。

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

    它使用 Kotlin 編程語言,這是一種受 Java 啟發的現代語言。

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

    麥當勞、Netflix 和 Cash App 等應用程序都是使用 Kotlin Multiplatform 構建的。

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

    最後,我們還有 MAUI,它代表 .NET 多平臺應用程序用戶界面。

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

    由微軟推出的 MAUI 允許您使用 C Sharp 和 .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.

    是的,有些人就像我們的超級明星、極富主見的開發人員 John Smith 先生一樣,對 React Native 信誓旦旦,但也有些人持不同意見。

  • 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.

    每種軟件都有自己的問題和怪癖,當你開始構建真正的應用程序時,你就會發現這些問題和怪癖並不侷限於 YouTube 教程。

  • 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.

    例如,如果您是 C Sharp 開發人員,MAUI 可能是更簡單的途徑。

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

    如果你瞭解 JavaScript 和 React 等網絡技術,你可能會選擇 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.

    React Native 和 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.

    也許 Flutter 開發人員有更多的工作機會。

  • 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.

    但實際上,如果你想從事移動開發,就必須在 React Native 和 Flutter 之間做出選擇。

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

    如果您具備基本的網絡開發技能,React Native 是更好的選擇。

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

    否則,我會推薦 Flutter,因為 Flutter 使用的編程語言 Dart 是一種比 JavaScript 更好用的語言。

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

    它更加現代化,沒有 JavaScript 中的怪癖和奇怪之處。

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

    是以,請在 JavaScript 或 Dart 之間做出選擇,並制定學習計劃。

  • 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.

    為了在學習過程中提供幫助,我製作了一份免費的補充 PDF 文件,對每種技能需要學習的具體概念進行了細分。

  • 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。

  • Git is not a programming language.

    Git 不是編程語言。

  • 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.

    Git 和 GitHub(一個託管 Git 倉庫的平臺)是每個開發人員必不可少的工具。

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

    現在,Git 擁有大量功能,但日常使用時並不需要全部掌握。

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

    就像 80-20 規則一樣。在 80% 的時間裡,你會用到 Git 20% 的功能。

  • 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.

    四人幫設計模式》一書中記錄了 23 種經典設計模式。

  • 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++.

    現在,我必須告訴你,這本書已經很老了,而且是用 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.

    是以,我就這一主題開設了一門實踐性很強的實用課程,使用 Java 和我們日常使用的應用程序中的現代示例。

  • 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.

    對於 Dart,您應該學習 Flutter;對於 JavaScript,您應該學習 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.

    是以,如果你每天抽出幾個小時,按照這個路線圖去做,你就能在 8 到 12 個月內掌握申請初級移動開發人員工作所需的知識。

  • 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.

要成為一名移動應用程序開發人員,需要掌握 5 項基本技能。

Subtitles and vocabulary

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