卡卷网
当前位置:卡卷网 / 每日看点 / 正文

你为什么选择了flutter?

作者:卡卷网发布时间:2025-01-09 18:48浏览数量:86次评论数量:0次

早在许多年前,我就开始物色一种能够跨APP、We、Desktop三端应用的框架了。

最开始盯上是微软的Xamarin,原因很简单,首先,我当时玩的是C#.net,能够直接过渡上去,其次,这玩意是较早的跨平台框架。但是,一如微软公司本身及其研发的框架一样,这东西是一如既往地臃肿,要说这也不算什么,咬牙也就过去了;可是,有一件事让我彻底放弃了Xamarin,那就是当我用WinForm的Picteox加载100M以上的图片时,程序直接抛异常挂了,这让我很不放心,于是果断抛弃Xamarin。

不久之后,我把目光转向了QtC++,并且特意拿它提供的控件直接加载100M以上的图片,实验成功!没错,QtC++是做不了We端,但是对于行业用户而言,只要你做的Desktop版能够满足需求,他们通常不会强求We端。可问题来了,团队玩C++地没有,并且都怕C++,光我一个人说它香也不顶用啊。

没办法,我们只好采用UniApp,前端的同事们都学过VUE,玩这个很快就能上手,开发速度是相当地快,可我们是追求卓越的一群人,如果开发出来的APP不能让用户有丝滑的体验,就觉得很没面子。然而,我们没有条件玩原生,只好再找跨平台框架。

谷歌弄了个flutter,这事我早就知道,却迟迟没有关注,因为,新版本一定有很多问题,并且功能较弱,程序员都知道,新技术出来的时候要让飞一会儿,因为第一批吃螃蟹的通常很累。

新项目开始时,flutter已经到了3.x,我觉得时机成熟,果断让同事转向dart/flutter,刚好他们玩UniApp玩腻了,学习新技术又让他们提起的精神头。

他们玩flutter上手的速度我想象中的快,大概是因为dart有些像js,如“vara=[]”这种语法让他们看起来倍感亲切,而模仿React搭建出来的flutter与Vue又有许多类似之处,乍一看也较好理解。

不过,无论js还是Vue,“类”这个概念对他们而言是隐的,数据驱动界面渲染的机制也是封装好的,这两样东西的确让他们不习惯了好久,好在dart不像ja那样对类的封装十分偏执,flutter文档中的示例也非常丰富,只要依葫芦画瓢去flutter页面或组件的状态,就能实现大部分功能。

从此,我们不再与S纠缠,封装一套组件能够在各端调用,秒级的热重载大大提升了效率,可以加载大图片并对其进行简单的处理,能够更方便快捷且自由地实现动画效果且保证各端一致……

尽管磕磕绊绊,我们还是如期完成了项目开发任务,渲染的效果、运行的效率也达到了我们的预期,如果以我们现在的水平再做同样的项目,我相信,能够把时间缩短1/3,并且做得更漂亮。

总之,我认为选dart/flutter这件事我做对了。

2022年5月,微软发布了新的跨平台框架MAUI(Multi-platformApplicationUserIntece),该框架是从Xamarin.Forms孕育出来的,并且能在VSCode中干活,可以算作C#程序员的福音。

另外一个值得推荐的跨平台框架是Unity,著名的Zenrush就是用它开发的,您要是想开发游戏,最好用它。

最后,任何一个框架都有优缺点,选择框架是一个权衡利弊、综合考量的过程,确定以后,您就得承担一定的风险,如开发速度不够快影响进度、最终做出来的效果不尽如意等等。不过就目前而言,上述几个框架在功能实现上基本都够你用的。

<>记住,选择框架要考虑的是成本控制和实现效果二者之间的最优解,而非个人喜好。

文章结尾,罗列几个flutter资源:

1.We示例:s://flutter.githu.io/samples/#?platform=we

2.跨平台示例:s://flutter.gskinner/folio/

进入页面后往下动,您将看到:

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码