写了几个月的 React.js 配合 Electron, 感受就是,越用越舒服,已经不想回去写 swiftUI 了,React 的设计真的非常好,虽然它是个框架,但是它却并没有太多自己的规则和语法,所有的规则都是沿用 Js 本身的语法 + Html 本身的语法,所有的东西都是可预料的,理解了 hooks 的原理,基本上很多东西都能够预料,很多问题都能定位,而且上手后,基本上没怎么看过官方文档,非常非常优秀的设计。吹爆,我现在是 React 铁粉了。
1
jlak 2023-09-20 00:44:49 +08:00 via iPhone 1
懂个钩子基本就差不多了,实在好用
|
2
gap 2023-09-20 06:42:42 +08:00 via iPhone
swiftui 会有很多规则吗?我一直写 react 还说最近学学 swiftui 搞搞 iOS 的(虽然也有写 react native 但因为不搞跨平台所以还不如直接上原生的)
|
3
sjhhjx0122 2023-09-20 08:41:41 +08:00
如果平常不用 ui 库,试试 solidjs?要不等到被 useEffect 等各种 hook 恶心过了,就又该讨厌了 react 了
|
4
sub166 2023-09-20 09:08:09 +08:00
同样经历,但是现在用 solidjs
|
5
enpitsulin 2023-09-20 09:17:53 +08:00
🤣还是写得少了 写多了遇的坑一多就会觉得恶心了
|
6
ChrisFreeMan OP @gap swiftUI 开发 iOS 没啥毛病,你要是用来写桌面端,是真的难受,但是就算用来写 iOS ,Xcode 也一言难尽,总之苹果的技术栈是真的不好玩
|
7
ChrisFreeMan OP |
8
ChrisFreeMan OP @enpitsulin 不会不会,我不信还会比 swiftUI 恶心,用 swift UI 开发桌面应用,看啥都眉清目秀
|
9
shunia 2023-09-20 09:43:33 +08:00
solidjs 的心智负担比 reactjs 大多了,别信。
目前的现代前端框架里,只有 react 的心智负担是最小的。 |
10
ChrisFreeMan OP @shunia 嗯嗯,在能够遇见的未来,我应该都会紧贴 react 了。把东西舒舒服服顺利做出来才是最重要的。
|
11
RoyRao 2023-09-20 10:11:49 +08:00
桌面端还是锁死 Cocoa 比较好 😂 另外想问下 OP ,Electron 的 macOS App ,上架 App Store 的流程有什么痛点吗?然后审核会更严格吗?
|
12
ChrisFreeMan OP @RoyRao 没有啥痛点,遵守沙盒规则就好了。
|
13
ChrisFreeMan OP @RoyRao 可能签名的时候会卡一点,因为自一套流程在 Xcode 上都是全自动的。
|
14
RoyRao 2023-09-20 11:20:07 +08:00
@ChrisFreeMan #13 是的,就是不清楚 Electron 如何签名,不知道 OP 可否分享一下学习历程?本人有 React 的 web 开发经验和 Swift 的原生开发经验,但是没有尝试过 Electron 上架 App Store
|
15
ChrisFreeMan OP @RoyRao 没那么难,electron 有个工具 electron forge 已经帮你搞定绝大部分活了,绝大部分也是自动化,你只是需要手动下载两个证书就可以了。了解一下证书的区别。
|
16
ChrisFreeMan OP @RoyRao 在 electron 的官方文档里面说的非常清楚了,基本上就是需要了解的全部了。https://www.electronjs.org/docs/latest/tutorial/mac-app-store-submission-guide 。 如果遇到问题,搜一下本站站友的开源 electron app ,看看他们的项目是怎么搞的,就 OK 了
|
17
duan602728596 2023-09-20 11:41:56 +08:00
写客户端可能还需要用到 react-router 和 redux
|
18
ChrisFreeMan OP @duan602728596 不太理解为啥开发本地应用需要 react-router ,请问下有啥情况会用上,redux 的话也不是很理解,react 不是有自带的状态管理 useContext 吗。
|
19
duan602728596 2023-09-20 12:38:11 +08:00
@ChrisFreeMan 如果软件有很多界面且不打开新窗口,就需要 react-router 。redux 是数据持久化,保证切换界面时数据不丢失。
比如我写了一个下载器,当我切换到软件设置时,就要到一个新界面来配置,配置完毕后回到原界面,这是 react-router 做的。当我在软件设置时,正在下载的这个 list 还在,而且回到原界面时还能看到下载进度,这就是 redux 要做的。 |
20
ChrisFreeMan OP @duan602728596 明白了,应用类型和交互方式的问题,因为我目前开发的应用都是平铺的。多谢解释。
|
21
kneo 2023-09-20 13:32:40 +08:00 via Android
没有自己的规则和语法? Hooks 就是伪装成函数的规则和语法。React 比起旧世界当然是革命性的,但是坑也很多,你写的 React 评价,理想的简直让我以为你用的是 SolidJS 。
|
22
RoyRao 2023-09-20 13:42:10 +08:00
@ChrisFreeMan #16 好的,感谢老哥指点
|
23
RoyRao 2023-09-20 15:42:03 +08:00
@ChrisFreeMan #15 刚才去了解了一下 electron forge ,官方说貌似不支持 pnpm 和 yarn berry ,但是我又不想用 yarn v1 ,不知道老哥用的什么包管理器呢?
|
24
ChrisFreeMan OP @RoyRao 我用的 NPM
|
25
cuzfinal 2023-09-20 17:32:50 +08:00
既然写 react ,不如直接用 [react-native-windows]( https://microsoft.github.io/react-native-windows/),也免得打包一个 v8
|
26
ChrisFreeMan OP @cuzfinal 试过了,个人觉得不太行,现在非常不建议入坑,文档缺失,社区小的要死,几乎没啥资料。微软对其的态度估计也是内部使用,顺便开源。
|
27
nodejsexpress 2023-09-21 00:32:39 +08:00
electron 感觉性能太拉胯
|
28
ChrisFreeMan OP @nodejsexpress 我感觉性能很好,性能反而不是它的槽点。主要槽点还是打包体积的问题。你可以试试我开发的应用。在我的个人介绍里面。
|
29
nodejsexpress 2023-09-21 12:04:11 +08:00
@ChrisFreeMan 好的,谢谢大佬。
主要是用的有道云笔记等 Electron 应用,给我的印象是加载太慢了,内存飙升。 |
30
ChrisFreeMan OP @nodejsexpress 没用过,但是 electron 要是用网页开发的思想来开发的话,比如靠网络加载界面,依赖 webview 组建,就会变得很慢,很吃内存。
|
31
RoyRao 2023-09-21 13:40:59 +08:00
@ChrisFreeMan #24 好的,感谢
|