Tag: Flutter

Flutter Fastlane和iTunesConnect

安装Flutter 创建Flutter应用 运行Flutter应用 为iOS构建 初始化Fastlane 使用Fastlane创建图标 为iOS构建Flutter应用 部署到iTunesconnect 1.安装Flutter $> git clone -b beta https://github.com/flutter/flutter.git到fluttersdk $> cd fluttersdk / bin $> ./flutter医生 要将Flutter永久添加到您的路径,请添加到$ HOME / .bash_profile 导出PATH = $ HOME / fluttersdk / bin:$ PATH 2.创建Flutter应用 $> flutter创建fluttertraining 3.运行Flutter App $>打开-a模拟器 $>扑动 4.为iOS构建 $> Flutter构建iOS 5.初始化Fastlane 安装fastlane:https://docs.fastlane.tools/getting-started/ios/setup/ $>光盘ios $> fastlane初始化 6.使用Fastlane创建ios App图标 首先安装appicon插件 $> fastlane […]

Flutter可以代替Java进行Java开发吗?

手机行业的发展以及由此带来的移动应用推动了新的移动应用框架的发展。 仅将本机开发框架用于移动应用程序开发的日子已经一去不复返了。如今,随着许多强大的跨平台应用程序开发框架的加入,应用程序开发市场发生了巨大变化。 即将推出的此类应用就是名为“ Flutter ”的Google移动用户界面框架。 Flutter是一个开源移动应用程序开发框架 ,主要用于为iOS和Android设备开发跨平台移动应用程序。 使用Flutter SDK开发的应用程序能够提供非常好的用户体验,并且由于开发人员必须编写单个代码库,因此可以非常快速地启动电子商务,食品和购物等应用程序。 凭借其更快的开发,引人入胜的视觉效果,成本效益等关键品质,此Google Powered SDK将彻底改变移动应用开发市场。 颤振的流行 关于Flutter可能会取代Java进行Android应用程序开发的讨论非常多。 与Java相比,某些原因使其变得越来越流行。 1.生产力 以我们最近的一个Android应用程序项目为例,我们花了2个月的时间与3位Java开发人员一起开发了第一个Android本机版本。 同时,我们仅用1个Flutter开发人员就花了3个月的时间来使用Flutter开发相同的应用程序。 此外,我们必须编写的代码量是为Android编写的Java代码的1/3。 2.跨平台性能 许多人开始相信Flutter在实际使用通过Flutter SDK开发的应用程序时可以提供与iOS和Android上的本机应用程序相同的性能。 3. Dart更像是Java,而不是JS 通过使用Dart(一种已编译的编程语言),Flutter采取了一种截然不同的方法,以避免由于JavaScript桥的需求而导致的性能问题。 Dart允许Flutter与特定平台进行通信,而无需使用进行上下文切换的JavaScript桥。 通过编译为本机代码,它可以缩短应用程序启动时间。 4.高性能应用 Flutter是一个框架,可以指导您适应诸如Java之类的本机应用程序开发语言无法实现的模式,例如反应式和合成开发。 当您的应用程序变得更大时,此功能被证明是有益的。 颤振的问题 尽管如上所述,Flutter具有许多优势,但它需要更多的发展才能与Swift和Java等本机应用程序开发框架竞争。 Flutter应用看起来很像本机应用,但是有点偏离。 Flutter框架的另一个问题是,它并不是本机寻找iOS设备。 它主要适用于Android用户。 它优先考虑Android平台的支持,这还不错,但是因此会影响您的跨平台体验。 没有一个适合所有解决方案的尺寸。 Flutter的开发旨在支持后端的多种语言,但根据开发人员的经验,发现它仅支持Dart的GUI部分。 GUI在精简的chrome的顶部开发。 没有JS,也没有DOM,因为在浏览器中像JS一样使用dart。 它仍然是一个不断发展的框架,社区支持有限。 将来,Flutter可能会有所改进并吸引开发人员,但是仍然必须与其他非本地流行的跨平台框架(例如React Native)竞争。 移动应用程序开发公司应开始适应诸如Flutter之类的新应用程序开发框架,以适应市场趋势和客户需求,但在企业移动电话采用此类框架成为主流之前,需要解决一些问题。应用开发。 它将需要支持对所有电话设备和操作系统的本地访问。 它需要使用Swift,而不仅仅是iOS的ObjectiveC。 性能和用户体验应与本机应用程序相提并论。 为了真正采用,它还需要缩小桌面间隙。 结论 Flutter是一个相对较新且发展中的框架,它有潜力取代本地应用程序开发框架(例如Java for Android)。 但是,它必须解决一些关键问题,例如对iOS应用程序的有限支持,诸如性能之类的本机。 请随时与我们联系,以帮助您确定最适合您的移动应用程序开发项目的框架。

从一开始就在Flutter应用中提供有效的代码

Flutter的功能之一就是可以在创纪录的时间内创建应用程序。 但是,从一开始就正确编写Dart代码并使用最佳实践(有效Dart)非常重要。 有一些好的工具和软件包可帮助您快速应用最佳实践。 默认IDE静态分析 Dart具有静态分析工具。 静态分析使您可以在执行单行代码之前发现问题。 这是一个很好的工具,用于查找可能的错误并确保代码符合样式准则。 当您使用IDE开发应用程序时,Flutter工具会分析项目的Dart代码,并将您放在一个安全的地方。 例如,当您定义FloatingActionButton并忘记实现onPressed ,IDE将警告要求参数onPressed 。 您还可以运行flutter analyze 在您的终端中检查您的代码。 该工具是dartanalyzer工具的包装。 此处列出了IDE用于Flutter的所有默认皮棉规则。 在上图中,您可以看到一些皮棉选项已被注释掉。 但是它们可能对您的项目有用。 要启用它们,您可以在项目中创建分析选项文件。 分析选项文件 为此,您需要将analysis_options.yaml放置在包的根目录中,与pubspec.yaml文件位于同一目录中。 在这里,您可以启用/禁用linter规则,启用更严格的类型检查,排除文件进行linter检查等等。 带有文档的受支持棉绒规则的完整列表始终在此处更新。 您可以将所有它们复制粘贴到您的analysis_options.yaml中 。 或者,您可以查看带有有效飞镖指南的规则的analysis_options.yaml 。 小包装 如果您不想浏览analysis_options.yaml的 linter规则列表,并且希望尽快开始使用功能,则可以尝试使用pedantic软件包 ,这是一个很好的起点,有助于编写易读而有效的代码。飞镖代码。 文档将此包表示为默认的Google规则,并在其自己的Dart代码中使用。 要使用此软件包中的棉绒规则,您需要添加: 您pubspec.yaml中的依赖项 : dev_dependencies: pedantic: ^1.4.0 您的analysis_options.yaml中的一行代码: include: package:pedantic/analysis_options.yaml 不要忘记运行flutter packages get来更新依赖关系。 现在是时候乱砍了! PS:当您有一个异步应用程序时,预计您的所有Future都将被await ,因此,pedantic软件包的lint规则为unawaited_futures 。 但是有时您会遇到没有刻意等待Future的情况。 因此,书包提供了功能 void unawaited(Future future) 使规则沉默。 此功能可用于忽略特定的Future。

Flutter与Codemagic的持续集成

如果您甚至对移动应用程序开发不感兴趣,那么您就会知道一个陌生的孩子– Flutter。 Google的新移动应用SDK,允许开发人员使用相同的源代码和语言编写iOS和Android应用。 随着一些最大的公司开始为其应用程序选择Flutter,Flutter的受欢迎程度正在迅速提高。 例如,世界电子商务巨头阿里巴巴。 随着越来越多的应用程序,对于Flutter应用程序的持续集成和持续交付(CI / CD)需求也越来越大,以便可以对其进行定期测试和发布。 幸运的是,Google与Nevercode合作,开发了专门针对Flutter应用程序的Codemagic CI / CD解决方案。 在本文中,我们将说明如何为您正在开发或已经开发的Flutter应用设置Codemagic。 Codemagic — Flutter的第一个CI Codemagic使您可以测试和发布Flutter应用程序,而不会出现问题且没有配置。 开发人员可以运行自定义脚本并为其应用创建自定义工作流。 开始吧! 要求 要开始使用Codemagic,您需要做一些事情: 您的Flutter应用经过了一些测试。 该应用程序应托管在GitHub,GitLab或Bitbucket上。 如果您想发布到App Store或Play商店,请进行代码签名的详细信息,例如证书和配置文件。 可选的Slack工作空间,用于发送构建报告和工件。 就这样! 如果您有上述物品,现在可以将CI / CD添加到Flutter应用程序中。 现在,让我们看一下来自实际应用程序的一些基本示例。 注册Codemagic 前往codemagic.io并使用您的GitHub,Bitbucket或GitLab帐户进行注册。 您可以使用一个Codemagic帐户连接所有这些存储库,因此可以将所有应用程序放在一个位置。 创建您的第一个版本 登录后会看到的第一件事是带有应用程序存储库的仪表板,您可以在其中过滤或搜索应用程序以找到Flutter应用程序。 现在,您可以通过单击“开始您的第一个构建”按钮开始。 默认构建工作流程 一旦开始构建,Codemagic将为Flutter项目创建工作流程。 如果需要,可以对其进行自定义以满足您的需求。 默认工作流程将通过以下步骤开始构建。 这些步骤包括准备构建机器,签出源代码,安装Flutter依赖项,运行测试,构建应用程序以及发布工件。 建立报告 构建完成后,您将能够看到所有详细信息的概述。 看起来像这样: 您还将收到包含所有这些详细信息的电子邮件。 如果您希望在Slack频道中拥有构建报告,也可以这样做。 那很容易,不是吗? 构建失败 不幸的是,并非所有构建都成功。 在这种情况下会发生什么? Codemagic提供每个步骤的非常详细的日志,无论该步骤是否通过。 在这里,我们可以看到失败的单元测试,并且所有详细信息都记录在构建失败中。 如我们所见,集成测试和小部件测试通过了,但是单元测试失败了。 您可以解决问题以修复构建。 […]

Flutter vs React Native:开发人员的观点

Facebook的React Native和Google的Flutter –两项热门的跨平台应用程序开发技术引起了轰动。 在这篇文章中,我们将从开发人员的角度对两者进行详细比较。 什么是Flutter和React Native React Native是一个由Facebook内部发起的项目,于2015年开源。另一方面,Flutter是Google发起的一个项目,自2017年I / O以来一直在大力推广。 我们将使用十个标准对它们进行比较: 程式语言 技术架构 安装 设置和项目配置 UI组件和开发API 开发人员生产力 社区支持 测试支持 构建和发布自动化支持 DevOps和CI / CD支持 现在,我们已经定义了所有标准,让我们开始详细研究每个标准。 程式语言 使用跨平台移动应用程序开发技术的主要好处是能够使用一种编程语言为iOS和Android开发应用程序。 React Native — JavaScript React Native使用JavaScript来构建跨平台应用程序。 JavaScript是目前在网络社区中非常流行的语言。 它通常与React和其他流行的JavaScript框架一起使用。 多亏了React Native,Web开发人员可以通过一些培训来构建移动应用程序。 考虑到这一点,公司将React Native视为明智之举。 扑-飞镖 Flutter使用Google于2011年引入的Dart编程语言,开发人员很少使用。 Dart语法支持JavaScript或Java开发人员的大多数面向对象的概念,因此很容易理解。 Dart入门很容易,因为这里的Dart官方网站上有大量出色且易于遵循的文档。 分析与结果 由于JavaScript被大多数Web开发人员广泛使用,因此采用React Native框架很容易。 Dart也具有出色的功能集,但在开发人员社区中很少使用且鲜为人知。 考虑到这一点,很明显,React Native在编程语言类别中胜出。 技术架构 选择跨平台的移动应用程序开发框架时,必须考虑其技术架构。 通过了解框架的内部,我们可以做出明智的决定,并选择最适合我们项目的决定。 反应本机—通量 React Native架构严重依赖JS运行时环境架构,也称为JavaScript桥。 JavaScript代码在运行时被编译为本机代码。 […]