准备挖个大坑
我主要工作是java后台,之前和前端的同事聊flutter,聊跨平台开发,争论了不少。总体来说我俩的想法分歧时比较大的。我是看好flutter的,前端同事持反对意见。同事的核心观点是没有真正意义上的跨平台存在(除了JS),这点我是相当同意的(不包括JS部分)。
现在来讲跨平台要跨的平台分为两大端,各类几个阵营。桌面端和移动端,也许未来会有物联网端;桌面端主要有MAC,Linux,Windows,移动端主要有IOS和Android。同大类的跨平台相比还简单一些的,主要是因为操作方式差异化较小,布局也相类似。IOS和MAC同宗同源,跨平台方面的难度是大于IOS与Android、MAC与Windows的。
找三个常用的左面软件做个功能划分,百度网盘,beyond compare,和Apifox 再找两个开源的管理系统素材,ruoyi和jeecg-boot 移动端Android和IOS的我就不贴图了,每天用,懒的截图,基本都是上中下三块。 从上面的图中可以看出,web和桌面之间布局的相似性还是很高的,所以一套布局打包这两种,可行性还是比较高的。当然了,话不能说的绝对了,对于web和桌面在功能本身设计上就存在不同,就另当别论了。我只是想说移植性相对高一点。
js的跨平台能力是源自js引擎V8(chrome,Edge),Spider Monkey(firefox),JavaScriptCore(safari)们的跨平台能力,也就是说,JS也不是靠本身的语言特性带来的跨平台性能,所以JS也不是真正的跨平台语言。
flutter底层使用Skia做绘制引擎,Skia也是一个跨平台的,所以我个人认为当Skia发展的足够好,flutter的跨平台能力也就扫平了很大的障碍,剩下就看flutter语言自身的魅力了。
就我自己来说,其实更看重的是flutter的web和桌面两个方面,尤其是桌面方面。我尝试过C#,和java特别的想,很多概念都是相通的。但是不知道为啥就是不喜欢。但是吧,做IT好多人有个共同的毛病–贪全,我也一样啊,总想捣鼓点什么小工具,哈哈哈。dart语言和java的相似度也特别高,这才是我真正对flutter有兴趣的原因。
看到flutter2.10 window桌面支持进入稳定版,哎,天晴了,雨停了,我又觉得我行了。
web我还是很熟悉的,因为web和桌面的相似性足够高,如果不够,那就一起靠,努力凑,所以是没问题的。写好web就有windows,开不开心?
还有一个事,让我有了写一个小系列的想法,在我尝试flutter编译windows版时,好多遇到的问题我都搜不到中文博客,很是无奈。我发的异常解决的博客中,关于flutter的阅读量是增长比较快的。我心动了啊,多好的骗点击机会,涨积分啊,哈哈哈
系列导航
|