游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

为什么我认为Flutter是移动应用程序开发的未来

  但是最近,我了解了Flutter,并决定再次开发移动应用程序。我立即爱上了它,因为它使开发多平台应用程序变得非常有趣。自了解以来,我已经创建了一个应用程序和一个使用它的库。Flutter似乎是向前迈出的非常有希望的一步,我想解释一些为什么我相信这一点的不同原因。由Dart提供支持
  Flutter使用Google开发的Dart语言。如果您以前使用过Java,则您将非常熟悉Dart的语法,因为它们非常相似。除了语法之外,Dart是一种完全不同的语言。
  我不会深入讨论Dart,因为它有点超出范围,但我想讨论一下我认为最有用的功能之一。此功能支持异步操作。Dart不仅支持它,而且使其异常容易。
  如果您正在执行IO或其他耗时的操作(例如查询数据库),那么很可能会在所有Flutter应用程序中使用此功能。如果没有异步操作,任何耗时的操作都将导致程序冻结直到完成。为防止这种情况,Dart为我们提供了async和await关键字,它们使我们的程序可以在等待这些较长的操作完成时继续执行。
  让我们看几个例子:一个没有异步操作,一个有异步操作。Withoutasynchronousoperationsimportdart:async;main(){longOperation();printSomething();}longOperation(){DurationdelayDuration(seconds:3);Future。delayed(delay);print(Waited3secondstoprintthisandblockedexecution。);}printSomething(){print(Thatsuretookawhile!);}并输出:Waited3secondstoprintthisandblockedexecution。Thatsuretookawhile!
  这不理想。没有人愿意使用在执行长时间操作时冻结的应用程序。因此,让我们对其进行一些修改,并使用asyncandawait关键字。Withasynchronousoperationsimportdart:async;main(){longOperation();printSomething();}FuturevoidlongOperation()async{varretValawaitrunLongOperation();print(retVal);}constretStringWaited3secondstoreturnthiswithoutblockingexecution。;DurationdelayDuration(seconds:3);FutureStringrunLongOperation()Future。delayed(delay,()retString);printSomething(){print(Iprintedrightaway!);}
  并再次输出:Iprintedrightaway!Waited3secondstoreturnthiswithoutblockingexecution。
  由于异步操作,我们能够执行需要一段时间才能完成的代码,而不会阻塞其余代码的执行。编写一次,在Android和iOS上运行
  考虑到您需要为Android和iOS使用不同的代码库,开发移动应用程序可能会花费很多时间。除非您使用Flutter之类的SDK,否则您只有一个代码库,可以为两个操作系统构建应用程序。不仅如此,您还可以在本地完全运行它们。这就意味着诸如滚动和导航之类的功能,就像它们对所使用的操作系统一样。
  为了保持简单性这一主题,只要您运行的设备或模拟器,Flutter都可以使创建和运行应用程序的过程像单击按钮一样简单。UI开发
  UI开发是我几乎从未期待过的事情之一。我更多地是后端开发人员,因此,在处理严重依赖它的东西时,我想要简单的东西。这是Flutter在我眼中闪耀的地方。
  通过将不同的小部件组合在一起并对其进行修改以适合您的应用程序外观来创建UI。您几乎完全可以控制这些小部件的显示方式,因此始终可以得到所需的确切信息。对于布局的UI,你有小部件,如Row,Column和Container。对于内容,您有诸如Text和的小部件RaisedButton。这只是Flutter提供的小部件中的几个,还有更多。使用这些小部件,我们可以构建一个非常简单的UI:overrideWidgetbuild(BuildContextcontext){returnScaffold(appBar:AppBar(title:Text(FlutterApp),centerTitle:true,elevation:0,),body:Row(mainAxisAlignment:MainAxisAlignment。center,children:〔Column(mainAxisAlignment:MainAxisAlignment。center,children:〔Container(child:Text(Sometext),),Container(child:RaisedButton(onPressed:(){Dosomethingonpress},child:Text(PRESSME),),),〕,),〕,),);}
  Flutter拥有更多技巧,可以轻松设置主题主题。您可以手动更改字体,颜色,然后逐一查找所有内容,但这花费的时间太长。相反,Flutter为我们提供了一种称谓的东西ThemeData,它允许我们设置颜色,字体,输入字段等的值。此功能非常适合使应用程序外观保持一致。theme:ThemeData(brightness:Brightness。dark,canvasColor:Colors。grey〔900〕,primarySwatch:Colors。teal,primaryColor:Colors。teal〔500〕,fontFamily:Helvetica,primaryTextTheme:Typography。whiteCupertino。copyWith(display4:TextStyle(color:Colors。white,fontSize:36,),),),
  借助此工具ThemeData,我们可以设置应用程序的颜色,字体系列和某些文本样式。除文本样式外,所有内容都会自动应用到整个应用程序中。必须为每个文本小部件手动设置文本样式,但这仍然很简单:child:Text(Sometext,style:Theme。of(context)。primaryTextTheme。display4,),
  为了使事情变得更加高效,Flutter可以热重新加载应用程序,因此您无需在每次更改UI时都重新启动它。现在,您可以进行更改,将其保存,然后在一秒钟左右的时间内看到更改。后端开发
  如今,大多数应用程序都依赖某种数据,这些数据需要存储在某个地方,以便以后显示和使用。因此,在使用新的SDK(例如Flutter)创建应用程序时,请记住这一点,这一点很重要。
  再说一次,Flutter应用程序是使用Dart制作的,而Dart在后端开发方面很棒。在本文中,我已经谈论了很多关于简单性的问题,使用Dart和Flutter进行后端开发也不例外。对于初学者和专家而言,创建数据驱动的应用程序非常简单,但这种简单性绝不等于缺乏质量。
  要将其与上一节联系起来,可以使用库,因此您可以使用自己选择的数据库。使用该sqflite库,我们可以相当快地启动并运行SQLite数据库。而且由于有了单例,我们几乎可以在任何地方访问数据库并查询它,而无需每次都重新创建对象。classDBProvider{SingletonDBProvider。();StaticobjecttoprovideusaccessfrompracticallyanywherestaticfinalDBProviderdbDBProvider。();Databasedatabase;FutureDatabasegetdatabaseasync{if(database!null){returndatabase;}databaseawaitinitDB();returndatabase;}initDB()async{Retrieveyourappsdirectory,thencreateapathtoadatabaseforyourapp。DirectorydocumentsDirawaitgetApplicationDocumentsDirectory();Stringpathjoin(documentsDir。path,moneyclip。db);returnawaitopenDatabase(path,version:1,onOpen:(db)async{Dosomethingwhenthedatabaseisopened},onCreate:(Databasedb,intversion)async{Dosomething,suchascreatingtables,whenthedatabaseisfirstcreated。Ifthedatabasealreadyexists,thiswillnotbecalled。}}}
  从数据库检索数据后,可以使用模型将其转换为对象。或者,如果要将对象存储在数据库中,则可以使用相同的模型将其转换为JSON。classUser{intid;Stringname;User({this。id,this。name,});factoryUser。fromJson(MapString,dynamicjson)newUser(id:json〔id〕,name:json〔name〕,);MapString,dynamictoJson(){id:id,name:name,};}
  如果没有将数据显示给用户的方式,这些数据并没有那么有用。这是Flutter附带诸如FutureBuilder或的小部件的地方StreamBuilder。如果您想更深入地了解如何使用Flutter,SQLite和其他技术来创建数据驱动的应用程序,使用Flutter,可能性几乎是无限的,因此甚至可以轻松创建超级扩展的应用程序。如果您开发移动应用程序并且还没有尝试Flutter,我强烈建议您这样做,因为我相信您也会爱上它。在使用Flutter几个月后,我认为可以肯定地说这是移动开发的未来。如果没有,那绝对是朝正确方向迈出的一步。

阿里云556。12亿元,稳中保高增,位列2020云综合排名第全球云观察《云白皮书(20202021)》热评云厂商60家之二阿里云的收入,从目前的数据来看,最好的参考来源便是阿里巴巴财报数据。毕竟阿里云没有独立拆分,营收数据最靠谱的……满意度98!评测完小米米家运动鞋4后,米粉舶来品麻烦让让小米可以说是国内科技产品的孵化器,从小家电到酷玩具,从日用品到鞋服箱包,小米的产品几乎占据了半个互联网,涵盖我们生活的衣食住行。当然,除了种类繁多外,口碑好也是这些产品的特征之……浅谈汽车轮毂垫片到底有什么作用最近总看到朋友们有问汽车的轮毂垫片有什么作用的。下面本人就给大家说说这个轮毂垫片到底有什么作用!说到底这个轮毂垫片的作用就是用来增加汽车的同一条轴上的两个车轮的相互距离的……汽车的大灯到底能不能改,违法么?很多车友在买车的时候,为了节约预算就选择了相对低配的车型,毕竟低配车型的性价比往往更高,一些车型的顶配往往能买两辆低配车型,低配车型虽然性价比高,但是配置也自然而然的少一些,而……Aerial将AppleTV4K1080p高清屏保带到你的MAerial是一款将AppleTV高清壁纸搬运到Mac系统的壁纸程序,壁纸均来纽约、旧金山、夏威夷、中国等多地的名胜照片,从1。6版本开始还增加了tvOS13独有的海底景观图片……启用新顶级域名,需要注意什么?【新网域名资讯】域名具有独一无二的特性,这导致了今天传统的顶级域名越来越稀缺,正因为。com是目前域名中的一哥,普通人可以说很难获取一个简单好记、寓意鲜明的。com域名了,动辄……南卡N2s体验一半是充电宝,一半是真无线耳机这是真无线耳机的时代,手机厂商和音频大厂蜂拥而上,使得原本审美单一的的耳机市场百花齐放。我不知道南卡是不是第一个把充电宝和无线耳机做到一块的厂商,可以肯定的是,这套组合的实用性……依然是华为手机中的高端旗舰,mate30pro详细介绍大家好我是小妹畅聊数码有很多朋友私信问我华为Mate30pro怎么样,值不值得入手,那么我带大家了解一下。华为mate30pro整体前后机身采用铝硅玻璃金属边框,采……原子同学教育资讯必看!科技特长生中考升学的直通车2020年,自主招生取消了,但是强基计划来了,而科技竞赛奖项在强基计划这一自主选拔人才方式上起到一定作用。随着名校特长生招生方案、综合评价和强基计划的公布,我们能发现科技……家用商用新CP组合面市,纽恩泰热水市场持续迸发新活力创新凶猛,这是纽恩泰自成立之初以来就被行业所贴上的重要标签,作为空气源热泵行业头部企业,无论是采暖、热水、烘干等领域都已有完善的布局,并且在舒适家居领域的赛道上,纽恩泰以中央热……双十一入手鼠标,你不可错过的一款好物黑爵水墨蜻蜓点水鼠标引言今年五月份,我入手了黑爵水墨蜻蜓点水机械键盘,轴体选择的是茶轴。这把机械键以蓝色和白色为主色调,键盘的盘面,最吸引眼球的就是整个键盘盘面组成了一幅别开生面的水墨画,整……降低病毒感染风险,家庭应如何做好科学消毒降低病毒感染风险,家庭应如何做好科学消毒新冠病毒已经持续了一年多的时间还是没有能够完全解除预警,虽然现在已经比之前危险系数降低了许多,但是我们还是要做好个人防护以及家庭消……
为什么全世界只有中国可以单独一个国家建立空间站?为了限制中国的发展,国外技术封杀数十年,不允许任何的合作、交流。中国不得不靠自己的智慧发展,就算是曾经许多国家共同建立了一个国际空间站,但是与中国也是没有任何关系,压根中国就没……创新奇智正式登陆港交所北京商报讯(记者石飞月)1月27日,创新奇智在港交所挂牌上市,其IPO发行价为26。3港元股,开盘价也是26。3港元股。创新奇智成立于2018年2月,是一家企业AI解决方……就任字节跳动CFO一个多月后,周受资再执掌Tiktok经济观察网记者冯庆艳实习生刘雨琪从宣布加入字节跳动并出任其CFO,到执掌字节全球化的主力军TikTok,周受资仅用了一个月的时间,可谓深受张一鸣器重。3月24日,周受资请……雷军突然官宣新机,4月27号正式发布,米粉们期待的手机终于来游戏手机在刚刚出现的时候,被不少人认为是一个伪需求,因为那个时候的游戏手机无非就是性能强一点的高性价比手机,再加上一点灯效,和普通的手机区别并不大,但是后来伴随着游戏手机高速发……中关村西城园17家企业入选市级名单本网讯近日,市科委、中关村管委会、市市场监管局等部门联合公布了2021年度第一批北京市新技术新产品(服务)名单。西城园道亨软件、新华网、国网区块链等17家高新技术企业自主研发的……人工智能医疗面临着什么样的发展机遇?1、人工智能发展路径及市场规模发展路径人工智能(AI)是计算机科学的一个分支,通过智能系统模拟人类智能,达到机器展示人类智能的目的,如图像分析、语音识别等。自20世……一加10最新消息,5500mAh12GB256GB,售价49一加10将不再使用挖孔屏设计,而是采用6。9英寸三星E5级AMOLED屏幕和屏下摄像头方案。这也是一加首次采用屏下摄像技术,背面配备了哈苏联名的双主摄影像系统。一加10系列将发……智能化正在加速杀死混动汽车本文同步发送于同名微信公众号修外求内,欢迎前往关注。前言在人类历史里的工具发展趋势就是降低人类工作负担的过程,汽车作为运输工具的发展史也是降低人类负担的历史,现在汽……为什么现在笔记本显卡后面都没有m的标志了?题主观察很仔细,现在的笔记本显卡确实如此,不过这并不是厂商故意忽悠,而是感谢技术的进步,笔记本显卡追上来了。在以往,无论是NVIDIA还是AMD,笔记本显卡命名和规格体系……比亚迪海豹参数曝光,百公里3。4秒,尺寸超Model3,预计如今新能源车的市场越来越成熟化,作为国产品牌的龙头企业比亚迪处于领先水平,旗下纯电动车和燃油车的选择更是让车友挑花了眼,在秦PLUSEV和汉EV之间还有款车型未到来,它就是比亚……大量MIUI用户被移出内测组因为没完成KPI,米粉不满近日,不少小米手机用户收到小米社区系统通知,通知显示,我们遗憾的通知你,由于你在2021年08月09日2021年8月15日期间未完成【小米XXXX开发版公测】内测考核,您在该项……蔚来ES8车祸背后分析,自动驾驶为何屡致惨剧?我们怎么办?最近致命的自动驾驶又成为了热议的话题。起因就是8月12日,蔚来ES8车主林先生因交通事故不幸逝世的事件。首先我要对逝者表示哀悼,那么在事故最终调查结果出来之前,我不会对这件事妄……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网