最新感悟,全栈开发不如共栈开发,省时省力效率高

2021-08-26 12:13:12 +08:00
 niubee1
最近搞了几个 App,因为要跨平台就用了 Flutter,但是服务端语言还是用 Java 啊,PHP 啊,Python 啊,NodeJS 啊这些开发的话,每次切换的时候大脑都会宕机一段时间,所以一咬牙干脆用 Dart 直接写服务端,结果感觉还不错,AOT 编译后执行效率大约等于 Golang,开发的时候写起来和 Python 一样快,部署也跟 Go 一样方便,编译完了直接丢服务器上就能跑,并且由于和 Flutter 共用了语言,输入输出的模型类,大部分的 utilities 公共代码都可以共用。加起来减少了 1/3 的工作量。
9116 次点击
所在节点    程序员
70 条回复
oxogenesis
2021-08-27 07:53:44 +08:00
那 js 不是更好
服务器、客户端、app 全部都是,我就是这么干的
wangyzj
2021-08-27 09:05:34 +08:00
所以闲鱼的那些 flutter 问题解决了吗
jojobo
2021-08-27 09:14:11 +08:00
产品上线了吗,想体验一下
weichengwu
2021-08-27 09:19:19 +08:00
我当初也选了 flutter 客户端+web + dart 后端,结果 fish-redux 不维护了、aqueduct 不维护了。。。
xz410236056
2021-08-27 09:34:06 +08:00
@debuggerx 问题就是 iOS 和安卓 设计风格不同啊,哪个 app 用一套 UI ?
loolac
2021-08-27 09:51:55 +08:00
@hronro AOT 编译后就是原生代码了,怎么会比不过 JIT 。
icyalala
2021-08-27 09:59:21 +08:00
@loolac 好的 JIT 可以做 FDO/PGO,AOT 除非你自己做 PGO,但还是可能有差距。
mxT52CRuqR6o5
2021-08-27 10:10:33 +08:00
@loolac https://www.zhihu.com/answer/131343894
找到篇文章,反正是说是一定条件下 jit 可以做到更好
Actrace
2021-08-27 10:12:14 +08:00
一个人就是一支军队!
niubee1
2021-08-27 10:45:35 +08:00
@mxT52CRuqR6o5 一定条件的话,根据二八原则,大多数时候都是 AOT 更优那肯定选 AOT 了,毕竟不可能为了那一小撮条件做选择啊,且上 JIT 的最大动力是要用 dart:mirrors 但是,老实说用了这就憋说性能了。
niuroumian
2021-08-27 10:46:53 +08:00
@niubee1 dart 数据库 driver 用的什么啊?
loolac
2021-08-27 11:48:48 +08:00
@icyalala
@mxT52CRuqR6o5 文章看了一下,JIT 确实优秀啊,因为以前也看过 luajit 的分析,因为涉及一些数值计算的代码执行效率超过了 C/C++以及某些汇编语言,所以感觉 jit 确实很牛,但是 JIT 的这种优秀是和硬件剩余性能有关的,也只能在特定条件和环境中。如果不了解原理,很难写出针对 jit 优化的代码。
niubee1
2021-08-27 11:53:25 +08:00
关于 JIT,必须要注意的是,要讨论的是谁的 JIT,Java 的,GO 的,.NET 的还是 Dart 的,不同的 VM 实现上是有区别的,脱离环境讨论优劣意义不大。
debuggerx
2021-08-27 13:12:00 +08:00
@xz410236056 有些 app 确实双端风格不统一,但那往往并不是产品设计的需求,而是先有了双端独立开发的因,使用了各自系统组件,才有了风格不同的果,而不是产品设计那边分别给了安卓和 iOS 两套设计 UI 。
再进一步,到了一定规模体量的公司,甚至会有自己特有的设计风格,脱离官方的 material design 和 iOS design language,比如微信的 WeUI,蚂蚁的 AntD,京东的 NutUI,都不会说为两个平台设计不一样的组件样式,多数情况下产品追求的还是一致性,而不是各具特色。做过原生 App 开发就会知道,当产品是以另一个平台的风格样式给的 UI 设计,还原 UI 图的时候就非常非常蛋疼了,要么就是去跟产品说,这个东西在我们安卓 /iOS 很难做 /实现不了,要么就是找开源组件,要么是自己爆肝硬撸……所以你可以在 GitHub 上找到很多仿 iOS 风格的安卓组件,同样也有很多仿安卓风格的 iOS 组件
wangxin13g
2021-08-27 13:47:31 +08:00
自己的项目并发低随便你怎么玩。
公司稍微大点,要你接个 ES MQ 监控 日志这些,写轮子能写到你吐。
xz410236056
2021-08-27 14:03:53 +08:00
@debuggerx 你去找个安卓和 iOS 设备看看支付宝、微信 他们 UI 风格一样吗。“都不会说为两个平台设计不一样的组件样式”风格不一样,不代表这个地方图标、按钮 不一样。现在的设计还是要遵循平台设计风格的
pecopeco
2021-08-27 14:06:28 +08:00
@skye 别提 weex 了,几年前被阿里抛弃扔给 Apache 维护,现在 Apache 不知道因为什么又把这块烫手山芋扔了回来,前面被 rn 一直压制,现在又被 flutter 抢占市场,这么被抛来抛去,未来。。
skye
2021-08-27 14:15:59 +08:00
@pecopeco 哈哈哈哈哈哈,就是一个笑话。
jk0001688
2021-08-27 18:00:01 +08:00
js 一把梭 react rn +nestjs
secondwtq
2021-08-27 19:32:10 +08:00
这问题本来就不存在 ... 但是现在平台喜欢我即世界,喜欢钦定开发语言,才搞出这么多幺蛾子。
这一波的始作俑者应该算在 Web 头上,JavaScript 限得死死的,直到 WebAssembly 才有点起色。
但是其他人脸上也不怎么好看就是了,Apple 以前还有心搞兼容,现在好像没啥兴趣都给自家标准让路了。UNIX 和 C 本来就是双生子。Web 造成的遗毒,本来也不是 Web 的错,要不是各家平台这么乱,第三方又怎么会选择 Web 呢。

倒是 Windows 很有意思,官方策略就是多语言共存,VS 至今都为罗(B)马(A)尼(S)亚(I)语(C)留着一份。(另外微软的 PL Research 也很出彩)当然代价就是随机用三个拉丁字母组合,就有相当的概率 hit 到一个微软的开发框架 :)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/798115

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX