Flutter框架,一言以蔽之就是可以或许利用一套不异的Dart言语代码同时实现android和ios跨平台使用的框架,同时兼备高机能和快速开辟。
跨平台使用的框架,眼下类似的轮子也有良多例如:Phonegap,Xamarin,大热的react native,还有weex等等,xamarin教程这里有一篇好文就比力详尽的引见了目前各类手艺优错误谬误,包罗这里安利的Flutter框架(这货之前叫Sky)传送门。
目前比力风行的跨平台手艺次要有HTML5和react native(接待弥补),虽然HTML5足够矫捷,可是挪动端网页的机能一直不如人意,用户体验不高,在分歧浏览器下也有分歧程度细微的差别;而react native刚好在机能和矫捷性上达到了一个均衡,但对于只撸前端的同窗,要矫捷使用这个框架,也有相当的难度。
假设你曾经阅读过上面的文章,Flutter有一个特点就是UI是自绘的并不依赖系统供给的控件,那跟浏览器有啥区别尼,没错你确实能够把它当成一个简化版的浏览器,适才文章也提到代码组织有Chromium气概,xamarin教程小我粗略进修后阐发,在某些概念上都跟Chromium千篇一律。
好继续接着说,自绘UI有益处也有短处,益处就是可以或许最大限度在android和ios上同一UI,如许就不单止在营业代码上同一,用户体验也能同一(什么?产物说要显示出分歧平台的差同性,xamarin教程框架的开辟者早就想到了,所以demo里面也供给一键切换android和ios的示例);短处,没有益用系统供给的组件,根基只能自给自足了,幸亏框架也供给了一套根本组件,可以或许满足一些简单的页面需求,这些组件当然也是有坑的啦,终究没有相当严谨的测试。
再说说框架的其他方面,次要的开辟言语就是Dart,Dart已经有一个雄伟的方针就是代替JS,可是很可惜失败了,也慢慢消逝在人们的回忆中,可是为啥要挖出如许非支流的言语作为这个框架开辟的主力言语,其实我也不晓得为啥,可能那群大神不死心吧,明明那么好的言语。不外尼,作为方针替代JS的言语,Dart设想愈加严谨(JS仿佛是十天就造出来的),从一起头时就考虑良多利用场景(浏览器,办事端,挪动端),根基就像java一样的泛用型言语(JS是后天不断加buff),所以能建立更为不变靠得住的使用。对于前端和android的同窗,这门言语的进修成本其实并不高,大要一两周就能控制。
框架的开辟体验,框架是遭到react的开导,建立组件的代码体例也有react的气概(前端的同窗看看),但这并不是重点,重点是开辟时支撑hot reload(足矣),不外也有不足,并不支撑jsx,UI比力复杂的话,代码就太难看了,当前该当会有改良。
目前框架的机能,曾经无限接近原生,这是小我的利用感触感染,之后再补上视频和体验的demo。
兼容性方面,官网提到是android 4。1以上 和 ios8以上,这还需要进一步验证
再说说项目本身,是相当有节操的,该当并不是玩票性质,小我察看这项目有一段时间,开辟者几乎在不断持续的commit,每次跑demo都能看到比力较着的改良(这也是让我不断察看的动力),提出的问题一般当天就有答复(仿佛项目上还有1000多的问题仍是打开着,哈哈)可是这个项目真的关心度相当低,对比RN低的可怜。
好吧,为啥今天才发文章安利,由于看到它终究支撑Windows了(其实我也不晓得他们啥时候搞出来),之前只能在mac,linux下体验,此刻也供给idea的插件,很是便利调试和开辟(之前是atom,真的卡的不可)。前往搜狐,查看更多