1
AoEiuV020 2021-08-26 12:23:23 +08:00 2
平时有没遇到缺轮子的情况,小众语言就怕这个,啥都要自己写就很烦了,
|
2
rophie123 2021-08-26 12:31:09 +08:00
同感,但之前用了一次 uniapp 云开发,serverless,后端都省了
|
3
niubee1 OP 撸轮子也是一种乐趣,Dart 撸轮子也蛮方便的,比如 Orm 什么的都是自己撸的,业务模型和验证规则的类生成器就没用 Dart 了,直接用 Python 撸的,用 yaml 定义好模型, 能直接生成模型的代码,连关系图都可以生成,打印出来先在模型层面讨论好了再动手,返工率就低很多,也节约了很多的时间
|
4
find456789 2021-08-26 12:33:30 +08:00
Flutter 在 ios 上成熟度如何了
|
5
niubee1 OP @find456789 还行,没遇到啥大坑
|
6
missdeer 2021-08-26 12:46:33 +08:00
同感,所以我用 C++(逃
|
7
hronro 2021-08-26 12:47:52 +08:00 via iPhone 4
Dart 开 AOT 只是冷启动快,实际代码运行速度是比不过 JIT 的。所以客户端可以开 AOT,服务端还是算了吧
|
8
debuggerx 2021-08-26 12:55:44 +08:00
比较赞同,唯一的问题是一直写同一种语言时间长了容易腻。
而且不是所有语言都适合这样玩的,能同时在多端开发都能保持良好体验的语言还是不多见的,唯二的选择可能也就 dart 和 ts 了吧 |
9
nicevar 2021-08-26 12:58:23 +08:00
有时候你觉得好用是还没到踩坑的时候,服务端稍微复杂点还不如用其他的,个人的项目十几年来 Java 、Python 、Go 都用过,最终选择了 PHP,对我来说效率就不在一个档次上,PHP 这种可以在服务器上搭两套,只接用 code-server 来开发,调试也方便,而且 PHP 也不用怎么学,我之前一行 PHP 代码没写过,找了个框架直接上,然后做了一套后台,现在用了好几年了。
|
10
mxT52CRuqR6o5 2021-08-26 13:03:31 +08:00 via Android
@debuggerx java 啊,同时写服务端和安卓
|
11
debuggerx 2021-08-26 13:06:30 +08:00
@mxT52CRuqR6o5 这里讨论的当然是包括 iOS 的……而且 java,光是让我写一端代码就腻得够够的了,写多端怕是要疯。。
|
12
icyalala 2021-08-26 13:28:38 +08:00 4
从这点上来说,还是用 JS 更省时省力效率高,毕竟 "Any application that can be written in JavaScript, will eventually be written in JavaScript."
|
13
musi 2021-08-26 13:39:10 +08:00
所以我选择 js
|
14
ytll21 2021-08-26 13:40:53 +08:00
小项目可以,但是项目一大,就要考虑到协同成本以及每个成员的开发水平。当然,涉及到全栈的项目,一般也不会太大。
|
15
skye 2021-08-26 13:42:29 +08:00
按照楼主这个思路:nodejs + 小程序 + weex 也不错呀
|
16
darknoll 2021-08-26 13:55:29 +08:00
就是太小众了
|
17
ebingtel 2021-08-26 14:01:13 +08:00
哈哈 看标题还以为着了个前(后)端,共同开发……
|
18
abcbuzhiming 2021-08-26 14:01:47 +08:00
自己一个人的时候可以这么干,人稍微多一点这就很成问题
|
19
JohnLou 2021-08-26 14:04:15 +08:00
能用 js 的我全部用 js,eletron 、react-native 、express 一把梭。
|
20
wuhanchu 2021-08-26 14:13:47 +08:00
如果你就是一个团队,倒是无所谓。
|
21
beginor 2021-08-26 14:17:39 +08:00 via Android 6
C#适合你, 浏览器有 Blazor,桌面端和移动端有 MAUI,服务端有 Asp.Net Mvc Core
|
23
dany813 2021-08-26 14:37:50 +08:00
js 统一世界
|
24
murmur 2021-08-26 14:44:00 +08:00
flutter 生不逢时,大厂有大把的 native 程序员,小厂都在做小程序等大厂收购
|
25
Leviathann 2021-08-26 15:45:55 +08:00 via iPhone
ts 还能共享一套类型
想想就很爽 |
26
xz410236056 2021-08-26 16:35:59 +08:00
“最近搞了几个 App,因为要跨平台就用了 Flutter” flutter 就不用多套 UI 了? 多端一套 UI ?
|
27
THESDZ 2021-08-26 16:38:21 +08:00
另外一种想法是,脱离语言,定义要做的事情本身
比如现在 swagger(open-api):支持生成客户端 sdk |
28
namelosw 2021-08-26 16:57:55 +08:00 2
必须的,不然一个需求还要协调几个团队,想想就头疼。
很多时候多客户端多团队,看起来干活热火朝天的,有时候回头一想,掐指一算其实搞了半天没实现多少东西,都浪费在沟通上了。 |
29
zoharSoul 2021-08-26 17:14:15 +08:00
内存占用比起来 golang 咋样?
|
30
janxin 2021-08-26 17:17:27 +08:00
什么?全栈开发不是全用 JavaScript 吗?
|
31
debuggerx 2021-08-26 17:24:16 +08:00 via Android
@xz410236056 不然呢,要写多套为啥还用 Flutter
|
32
hongweiliuruige 2021-08-26 17:34:39 +08:00
ts 一把梭,,nestjs + typeorm + mongodb + react + react-native + electron + uniapp + 嵌入式 + 鸿蒙原生 app
|
33
ALVC666 2021-08-26 17:36:10 +08:00
TS 造起来
|
34
otakustay 2021-08-26 17:41:38 +08:00
也就低并发能这么玩,QPS 上去以后小众语言和框架很难从社区汲取相关实践,出问题就懵
|
36
lancelock 2021-08-26 17:54:10 +08:00
dart 写后端有现成的框架之类的吗?还是你自己撸的?
|
37
niubee1 OP @lancelock 有很薄的小框架,看了看代码没啥问题就直接用了,顺手的小玩意儿组装起来后可以按照自己的口味组合,大量的脚手架,生成器都是自己撸的,搞起来也蛮快的,包括数据库的 migration 这些都是自己撸的。
|
38
seakingii 2021-08-26 18:05:54 +08:00
js,dart,c# 目前都能实现这样的需求
|
39
wengjin456123 2021-08-26 18:08:21 +08:00 via Android
那 js 不是更好
|
40
C603H6r18Q1mSP9N 2021-08-26 18:17:29 +08:00
碉堡了 dart 写后端
|
41
oxogenesis 2021-08-27 07:53:44 +08:00
那 js 不是更好
服务器、客户端、app 全部都是,我就是这么干的 |
42
wangyzj 2021-08-27 09:05:34 +08:00
所以闲鱼的那些 flutter 问题解决了吗
|
43
jojobo 2021-08-27 09:14:11 +08:00
产品上线了吗,想体验一下
|
44
weichengwu 2021-08-27 09:19:19 +08:00
我当初也选了 flutter 客户端+web + dart 后端,结果 fish-redux 不维护了、aqueduct 不维护了。。。
|
45
xz410236056 2021-08-27 09:34:06 +08:00
@debuggerx 问题就是 iOS 和安卓 设计风格不同啊,哪个 app 用一套 UI ?
|
48
mxT52CRuqR6o5 2021-08-27 10:10:33 +08:00 via Android
|
49
Actrace 2021-08-27 10:12:14 +08:00
一个人就是一支军队!
|
50
niubee1 OP @mxT52CRuqR6o5 一定条件的话,根据二八原则,大多数时候都是 AOT 更优那肯定选 AOT 了,毕竟不可能为了那一小撮条件做选择啊,且上 JIT 的最大动力是要用 dart:mirrors 但是,老实说用了这就憋说性能了。
|
51
niuroumian 2021-08-27 10:46:53 +08:00
@niubee1 dart 数据库 driver 用的什么啊?
|
52
loolac 2021-08-27 11:48:48 +08:00
@icyalala
@mxT52CRuqR6o5 文章看了一下,JIT 确实优秀啊,因为以前也看过 luajit 的分析,因为涉及一些数值计算的代码执行效率超过了 C/C++以及某些汇编语言,所以感觉 jit 确实很牛,但是 JIT 的这种优秀是和硬件剩余性能有关的,也只能在特定条件和环境中。如果不了解原理,很难写出针对 jit 优化的代码。 |
53
niubee1 OP 关于 JIT,必须要注意的是,要讨论的是谁的 JIT,Java 的,GO 的,.NET 的还是 Dart 的,不同的 VM 实现上是有区别的,脱离环境讨论优劣意义不大。
|
54
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 组件 |
55
wangxin13g 2021-08-27 13:47:31 +08:00 1
自己的项目并发低随便你怎么玩。
公司稍微大点,要你接个 ES MQ 监控 日志这些,写轮子能写到你吐。 |
56
xz410236056 2021-08-27 14:03:53 +08:00
@debuggerx 你去找个安卓和 iOS 设备看看支付宝、微信 他们 UI 风格一样吗。“都不会说为两个平台设计不一样的组件样式”风格不一样,不代表这个地方图标、按钮 不一样。现在的设计还是要遵循平台设计风格的
|
57
pecopeco 2021-08-27 14:06:28 +08:00
@skye 别提 weex 了,几年前被阿里抛弃扔给 Apache 维护,现在 Apache 不知道因为什么又把这块烫手山芋扔了回来,前面被 rn 一直压制,现在又被 flutter 抢占市场,这么被抛来抛去,未来。。
|
59
jk0001688 2021-08-27 18:00:01 +08:00
js 一把梭 react rn +nestjs
|
60
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 到一个微软的开发框架 :) |
61
cjh1095358798 2021-08-28 11:35:50 +08:00
所以为啥用 flutter, 用 js 不好吗
|
62
enlight 2021-08-29 09:35:37 +08:00
@cjh1095358798 赞同,App 直接用 React Native,网站 React,后端 Nest.js ,桌面 Electron,爽歪歪。Dart 缺的库太多了
|
63
fakeshadow 2021-08-29 14:27:53 +08:00
你这么干感觉是 js 全栈的低配版
|
64
Dganzh 2021-08-29 14:50:59 +08:00
想问问 dart 有啥后端框架
|
65
neoblackcap 2021-08-29 15:15:14 +08:00
@missdeer C++写跨平台问题不大,很多大公司都是这样干的,共用的逻辑用平台无关的 C++写。UI 用对应的平台 API 重新实现一个
|
66
mxT52CRuqR6o5 2021-11-23 18:25:07 +08:00
@loolac
如果是 dart 的话,dart 官方是这么说的 https://dart.dev/faq#q-which-is-faster--aot--or-jit-compiled-code JIT-compiled code is slower at startup, but it can have better peak performance after it runs long enough for runtime optimizations to be applied. https://github.com/dart-lang/sdk/issues/39367 github issue 拿泛型举例说明 AOT 慢的 case (难道这就是 golang 之前不愿意做泛型的原因?) |
67
loolac 2021-11-24 00:23:33 +08:00
@mxT52CRuqR6o5 这样看上去,Dart 的 aot 都不如 java 。泛型应该不是问题,没做过泛型相关的。但是泛型应该在编译时都处理为具体的类型了。对性能影响应该不会很大。
|
69
mxT52CRuqR6o5 2022-03-01 19:09:54 +08:00
|
70
mxT52CRuqR6o5 2022-03-01 20:35:05 +08:00
@niubee1
我这边发现字节开源的 modern.js 框架可以比共栈开发更进一步,直接在前端代码中 import 后端的函数,调用时能自动转换成 HTTP 请求 https://modernjs.dev/docs/guides/features/server-side/bff/function |