作者 | i校长
地址 | www.jianshu.com/p/0514ab661c96
![](https://i-blog.csdnimg.cn/blog_migrate/c5b4c615a1968478c77be02670fb6ce0.png)
前言
在这篇文章中,我将谈谈为什么开始学习Flutter和Dart语言。我是如何做到这一点的,以及我保持专注的策略是什么。希望能帮助您开始使用Google的移动开发框架并继续您的旅程。
作为移动开发者的经验
我是一名软件工程专业的学生,但是在高中时我第一次接触移动开发,不管你信不信,这与Windows Phone有关(那时候我非常喜欢操作系统)。WP的经验非常棒,我喜欢C#语言以及如何构建应用程序。不幸的是,WP已被微软停产,所以我不得不做出一个决定,迁移到Android开发。
我已经使用Java和Kotlin????构建了Android应用程序,此时,我没有什么可抱怨的。构建原生应用程序的方式对我来说总是很吸引人,包括如何构建UI(用户界面)的方式。但现在你可能会问,你什么时候注意到Flutter?
一见钟情
如果你还不知道什么是Flutter,它是Google的移动UI框架,用于在创纪录的时间内在iOS和Android上制作高质量的原生界面。使用Flutter,您可以使用相同的代码库(在Dart中)将原生应用程序写入两个平台。我参与了一个项目,我们需要为iOS和Android构建一个应用程序,即使团队中没有Swift或Object-C开发人员也是如此。所以我想到了React Native和Flutter。第一次尝试是React Native,我对RN的经验太短了(所以不要评判我✌️),但我不喜欢的事情之一是对第三库的大量依赖,从屏幕之间导航直到UI组件,您需要将包导入项目。
所以,我的第二次尝试是Flutter,我不能多说,我喜欢它。乍一看,我认为学习Dart会花费很长时间,可能会成为一个问题,但事实并非如此。Dart语言,至少对于那些来自面向对象范式的其他语言的人来说,非常直观且易于理解。如何构建UI的方式,引起了我的注意!所有常见的小部件都是由Material Design标准化的,或者是带有Cupertino的iOS,可以在Flutter中使用,如果你需要一个非常特殊的UI小部件,你只需要导入另一个库,即使在这种情况下,也可以很容易地创建一个带有Flutter的自定义小部件。关于Flutter中每个Widget和类的文档对于所有开发人员来说都非常详细和易懂。
我怎么学?
我总是喜欢折腾自己,但不是为了证明我能够做某事,而是为了证明我能够在失败的情况下继续努力。所以当我意识到Flutter是一个很好的学习选择时,下一步就是学习,作为一种有效的学习方式,我选择了练习。如前所述,创建简单的应用程序可能非常简单,主要是如果您始终将重点放在同一种应用程序构建或要解决的问题上。是的,我从一开始就开始了。
我做的第一件事是构建一个简单的应用程序,并使用Flutter功能,如屏幕之间的导航,setState(),了解StateLessWidget,StateFullWidget,inheritedWidget等。这是一个很好的方式来探索框架为您提供的,甚至是肤浅的。所以,当我意识到自己已经足够了解时,我就开始了更多雄心勃勃的项目。
特别是在软件开发环境中,当项目变得更大时,你会出现一些问题,所以继续尝试小的东西不会提高任何技能,也不会帮助你了解新问题并获得做类似事情的新方法。知道这一点,我搜索了UI概念,使用Flutter来模拟它,这对我帮助很大。我将在这里分享我创建的一些概念:
https://github.com/wiltonribeiro/grocery_shop_flutter
https://github.com/wiltonribeiro/hamburger_flutter
这样做,帮助我在Flutter中应用了项目设计模式,测试案例,动画,流,状态管理,响应式设计以及其他为每个项目创建自己的小部件的好东西。
一些技巧 …
从一开始就意味着不要跳过学习之旅的步骤,当你不理解一个简单的概念时,当你决定学习更复杂的东西时,它可能会产生一个更大的问题。成为社区的一员,今天我在Telegram上的四个Dart / Flutter小组中,跟随Twitter上的Flutter社区,Gitter,Github,Reddit和其他社交媒体。如果您想了解有关Flutter社区及其社交媒体的更多信息。享受Flutter已经为您提供的内容。Flutter文档令人惊叹,而且,如果你想要更具互动性的东西,Flutter团队在YouTube上有一个很棒的频道,仅供你使用。