Flutter:值得开始吗

图片
作为IT新产品的狂热爱好者,从有关谷歌一个有前途的平台的第一条新闻开始,到在flutter会议之后更是如此,因此决定尝试Flutter。

将会有恕我直言,它会给您一些思考,以及是否值得花费免费的工时。

我想查看/尝试的内容:

  1. 热装
  2. 一切都是小部件
  3. 跨平台
  4. 此处展示的精美动画-Flutter 1.0演示文稿

但是每个新产品都有缺陷。 我现在要描述的内容可能是可配置的或“特别完成的”,但是这些让我感动,让我重新考虑,评估一下现在是否值得重写我的所有Android项目,以便可以轻松地在iO上启动它们。 如何开始在Dart上编写,如何安装以运行抖动,如何启动“热重装”的知识很多。 在这里,我将分享恕我直言,它是基于Android开发经验和对开箱即用的第一个“ hello world”的分析而建立的。

对于那些不知道“ Hello World”的实质是什么的人来说,就是“扑朔迷离”。

一个活动是带有加号的浮动按钮,按下该按钮可增加计数器。

图片

恕我直言1。 上网服务


要编写一个Android应用程序而不查看清单文件,则完全不要编写它。
打开清单,引起您注意的第一件事是一条线
<uses-permission android:name="android.permission.INTERNET"/> 

(对于非Android用户,此行使应用程序可以访问Internet)。

“那是怎么回事? 为什么简单的柜台应该上网?” -闪过我头的第一件事。 有关信息泄漏的图片,对所有人的Google全面跟踪迅速在我的脑海中散布开了,然后,如果用户也开始抱怨了...就在那儿,该示例的有爱心的作者评论说,好像他们需要它,这是用于调试,请不要担心。

  <!-- The INTERNET permission is required for development. Specifically, flutter needs it to communicate with the running application to allow setting breakpoints, to provide hot reload, etc. --> 

当然,我仍然读了为什么以及为什么需要这样的许可,但是即使是普通的仪表也需要互联网访问这一事实使我想知道最近的吸尘器是否在注视着我的运动(当然是夸张的,但是我想你明白我的意思)。

恕我直言№2。 主题


在更改主题颜色(标题栏和浮动按钮的颜色已更改)的实际工作中,“热重装”得到了欢欣鼓舞,接下来的一行是“更改文本的颜色”。 通常,经过一个小时的解析后,文本的颜色仍为深灰色。 这是因为默认情况下,应用程序中的所有小部件都已经具有标准主题(在Android中,这是材料设计)。 并且,如果要更改文本的颜色,请更改主题\样式。 在描述它们的地方,您仍然需要找到...这里再次是该示例的有爱心的作者。

不要爬入原始主题,从基础继承并重写您的样式。
  /// Rather than creating a new text theme, consider using [Typography.black] /// or [Typography.white], which implement the typography styles in the /// material design specification: /// /// <https://material.google.com/style/typography.html#typography-styles> /// /// If you do decide to create your own text theme, consider using one of /// those predefined themes as a starting point for [copyWith] or [apply]. 


好的,这是一个好主意,它也位于本机Android中,在此处的注释中,示例了如何执行此操作:

  class TitleColorThemeCopy extends StatelessWidget { TitleColorThemeCopy({Key key, this.child, this.titleColor}) : super(key: key); final Color titleColor; final Widget child; @override Widget build(BuildContext context) { final ThemeData theme = Theme.of(context); return Theme( data: theme.copyWith( textTheme: theme.textTheme.copyWith( title: theme.textTheme.title.copyWith( color: titleColor, ), ), ), child: child, ); } } 

...我只需要在一个字段中更改文本的颜色...为什么要写这么多...

恕我直言3。 申请规模


让我提醒您,该应用程序的本质是计数器没有图片,没有翻译成其他语言,没有考虑不同的屏幕尺寸,没有数据库,没有考虑到不同设备架构的NDK。

我们进入电话设置-应用程序-MyFirstFlutterApp-大小:40.68 Mb。 (例如,Facebook应用程序的重量约为53 Mb,以进行比较)。

然后,我的手表没有了工作和家务,就可以看其他东西了。 但是,即使是这些恕我直言,也推迟了一些扑扑的宠物项目的创建日期。

Source: https://habr.com/ru/post/zh-CN435410/


All Articles