Udemy

Why Flutter?

来自 Dr. Angela Yu, Developer and Lead Instructor 的免费视频教程
Developer and Lead Instructor
评分:4.7,满分 5 分讲师评分
8 门课程
3562187 名学生
Why Flutter?

通过完整课程学习更多知识

The Complete Flutter Development Bootcamp with Dart

Officially created in collaboration with the Google Flutter team.

28:20:08的随选视频 • 更新于 November 2025

Build beautiful, fast and native-quality apps with Flutter
Become a fully-fledged Flutter developer
Build iOS and Android apps with just one codebase
Build iOS and Android apps using just one programming language (Dart)
Build a portfolio of beautiful Flutter apps to impress any recruiter
Understand all the fundamental concepts of Flutter development
Become proficient in one of the fastest growing technologies
简体中文 [自动]
所以, 当你考虑构建一个新项目时, 为什么选择Flutter? 它能做什么? 您可能会考虑的第一个原因是, 您最终将只需要维护一个代码库, 调试一个地方, 更新一个地方。 所以, 一个代码库就能统治一切? 这是一个巨大的优势, 相比之下, 你可以在本地创建你的应用程序, 比如说, 在Swift中创建你的iOS应用程序, 在Java中创建你的Android应用程序, 在JavaScript中创建你的Web应用程序, 然后拥有所有这些不同的地方, 你需要更新和维护。 有时候会很混乱。 而在这里, 你只需要知道一种语言-那就是Dart, 这是一种功能强大的语言, 实际上很容易使用。 一旦你学会并理解了如何使用它, 那么你就可以用它来创建你的iOS应用程序, 你的Android应用程序, 你的Web应用程序。 这意味着你只需要擅长一件事, 而不是很多不同的事情。 如果你以前做过编程, 那么你会意识到Dart实际上非常非常类似于许多现代面向对象编程语言。 它有许多其他强大语言所具有的特性。 它在Google内部被用于构建强大的工具, 如Google AdWords和Google Fiber。 而且它的使用量只会越来越大。 目前, 我们已经可以使用Flutter和dart来构建iOS和Android移动应用程序, 但它的应用程序不止于此。 您很快就可以使用Hummingbird来创建Web应用程序, 编写Dart代码, 甚至可以使用它来构建在桌面上运行的应用程序。 这不仅是维护和更新一个代码库的优势, 而且Flutter允许您使用非常简单和灵活的布局系统为您最终着手的任何项目构建漂亮的用户界面。 这是现代应用程序开发人员必须面对的最大困难之一, 因为你可能还记得iPhone 3G刚推出时, 只有一个屏幕尺寸和一个宽高比。 是3分。 5英寸屏幕。 想想它以前只花99美元就很疯狂了。 而现在它的成本就像一个bajillion美元。 但是有一整个系列的设备。 有iPad Pro, iPad, iPad Air, iPhone和它所有的小表亲, 叔叔, 阿姨, 邻居和... 这是一个巨大的生态系统, 不同的屏幕尺寸, 不同的宽高比。 作为一个开发者, 你必须面对这一切, 并努力让你的应用程序在每一个屏幕上都看起来很好。 当你开始考虑Android的时候, 情况会变得更糟, 因为Android是开源的, 所以这意味着任何想制造智能手机的人都可以使用Android作为操作系统。 如果你正在构建一个Android应用程序, 它可以在任何类型的数百万种设备上运行, 这些设备具有不同的屏幕尺寸和不同的宽高比。 你可以看到, 即使在2014年8月, 也有太多不同的设备运行Android, 甚至让你无法跟踪。 因此, 作为一名开发人员, 如果我们想要布局屏幕, 以充分利用屏幕空间, 并确保用户实际上使用我们的应用程序有良好的体验。 为了在iOS和Android上都做到这一点, 我们现在使用约束。 随着屏幕上元素数量的增加, 约束本质上变得更加复杂。 因此, 如果你在屏幕上只有四到五个东西, 约束可以很容易地做, 而且做得很好。 但我们已经不在三号了。 5英寸屏幕时代了, 当我们过去有一个小屏幕, 只有这么多, 你可以适应到屏幕上。 这是使用约束的时候:元素少, 复杂性低。 但是我们的屏幕变得越来越大。 我敢肯定, 下一部手机将没有任何边框, 它将是我的脸的大小。 但是, 这也意味着你可以在屏幕上输入更多的东西。 所以有更多的元素, 这意味着约束它们中的每一个彼此之间的关系变得更加复杂。 任何事物越复杂, 就意味着越难理解。 而且, 要想创造出漂亮的用户界面, 同时又有良好的用户体验, 就更难了。 那么Flutter的灵感是从哪里来的呢? 很多都来自网络。 因为这是一个他们不得不适应各种不同尺寸的地方, 因为人们在移动设备上, iPad上, 平板电脑上, 大型桌面显示器上打开网站。 所以在网络生态系统中发展起来的很多东西都非常非常擅长处理不同屏幕尺寸的布局。 通过使用诸如网格或列或引导之类的东西。 我们已经开发出了非常简单和优雅的方式来布局网站上的用户界面。 那么, 为什么我们不能在手机上做同样的事情呢? Flutter开发中有很多来自网页设计的核心概念。 它允许您使用行。 例如, 水平地将元素彼此相邻地堆叠。 或列-需要在屏幕上垂直堆叠的项目。 或者堆叠-需要堆叠在彼此顶部的东西。 然后给他们填充或给他们边距或居中。 还有一大堆这些方便的小部件, 可以很容易地布局你的屏幕。 现在, 如果有一个单一的代码库工作和一个直观和美丽的方式布局你的应用程序的用户界面是不够的, 还有一些所谓的热重载。 当我们开发应用程序时, 最大的痛苦之一是当你必须运行应用程序时, 因为通常在iOS上, 从保存代码、 运行应用程序、 编译应用程序到最终在屏幕上看到应用程序, 可能需要10到30秒。 但是当你在Flutter中工作时, 只要你更新代码并点击“保存”, 你的用户界面就会在几分之一秒内在你眼前发生变化。 这导致了一种非常不同的设计用户界面的方式。 这就像你在网站上有一个刷新按钮。 一旦你改变了一些东西, 你点击保存, 你就会看到你的应用程序中的变化。 然后你就可以迭代了。 你最终缩小了你想要的最终设计, 因为你可以获得超快的重新加载。 这使得设计漂亮的界面变得非常有趣和容易。 你可以在这里看到它的运作。 每次我点击保存, 你可以看到, 在这里, 你有“准备热重新加载… “并立即更新UI。 所以我换了颜色。 我点击了保存。 UI将更新。 这是实时记录的。 不能加速。 这里没有编辑。 就是这么快 它使设计一个漂亮的用户界面成为一种非常有趣的体验。 现在我想说的最后一件事是, 当你使用Flutter时, 你可以访问原始的源代码。 因为Flutter是开源的, 这意味着如果你想看看一个按钮是如何实现的, 你只需点击它, 你就会看到他们是如何编写代码使它看起来像这样的;如何保持现状你可以点击屏幕上的任何东西, 你可以看到团队为了让它成为现在的样子而写的原始代码。 这意味着您可以更轻松地了解这些小部件的工作方式。 如果你一直在从事iOS开发, 你会知道很多东西都是一个神秘的黑匣子。 因为在iOS上, 很多组件都是专有的。 苹果如何实现一个按钮或滑块本质上是他们的秘密武器。 你没有机会接触到它。 但在Flutter上你可以。 这意味着你将看到一些东西是如何实现的。 如果你想定制它;如果你想完全建立你自己的版本, 你可以简单地复制他们为他们的版本所做的, 并更新你需要的部分。 因此, 让我们说, 我不想使用Flutter的沼泽标准浮动动作按钮了。 我想创造我自己的版本。 好的, 如果我们继续看它, 我们可以看到它是用这个屏幕高度和这个尺寸的高度和宽度建造的。 然后我们可以看到, 一旦它被放在一起, 它是基于一个叫做原材料按钮的东西。 所以我要进去废除他们的浮动按钮。 我只想做一个我自己的纽扣。 我的纽扣会按照我的意愿定制。 所以我希望它的颜色是红色而不是蓝色。 所以它会把颜色变成红色。 当我点击“保存”时, 你可以看到它执行热重新加载, 我们最终得到一个红色的矩形。 我不希望它是长方形的。 我还是很喜欢圆润的边缘。 让我们改变它的形状。 让我们把它变成一个圆形的长方形。 我要把它的角弄圆一点。 所以我要改变边界半径, 也许让我们说50像素。 现在当我点击保存时, 你可以看到它变圆了很多。 它看起来更像我正在寻找的药丸形状。 接下来让我们对它进行一些自定义。 我当时想变得更大一点。 真的真的很小 让我们把它弄高一点, 宽一点。 让我们添加一些框约束。 我将把它的高度改为, 比如说, 50像素。 我们将宽度设为100。 所以, 现在当我点击“保存”, 我有一个完美的按钮。 这正是我想要的。 我已经根据我的喜好对它进行了定制, 具体是基于Flutter团队如何创建浮动操作按钮的。 我只是把它改成了我自己的版本。 所以你可以用Flutter做很多令人兴奋的事情。 在接下来的课程中, 我们将深入探索和深入研究你可以用Flutter和Dart做的所有很酷的事情。