我发现 React 真的非常适合用来写本地客户端

2023-09-19 22:40:35 +08:00
 ChrisFreeMan

写了几个月的 React.js 配合 Electron, 感受就是,越用越舒服,已经不想回去写 swiftUI 了,React 的设计真的非常好,虽然它是个框架,但是它却并没有太多自己的规则和语法,所有的规则都是沿用 Js 本身的语法 + Html 本身的语法,所有的东西都是可预料的,理解了 hooks 的原理,基本上很多东西都能够预料,很多问题都能定位,而且上手后,基本上没怎么看过官方文档,非常非常优秀的设计。吹爆,我现在是 React 铁粉了。

2922 次点击
所在节点    程序员
31 条回复
jlak
2023-09-20 00:44:49 +08:00
懂个钩子基本就差不多了,实在好用
gap
2023-09-20 06:42:42 +08:00
swiftui 会有很多规则吗?我一直写 react 还说最近学学 swiftui 搞搞 iOS 的(虽然也有写 react native 但因为不搞跨平台所以还不如直接上原生的)
sjhhjx0122
2023-09-20 08:41:41 +08:00
如果平常不用 ui 库,试试 solidjs?要不等到被 useEffect 等各种 hook 恶心过了,就又该讨厌了 react 了
sub166
2023-09-20 09:08:09 +08:00
同样经历,但是现在用 solidjs
enpitsulin
2023-09-20 09:17:53 +08:00
🤣还是写得少了 写多了遇的坑一多就会觉得恶心了
ChrisFreeMan
2023-09-20 09:30:48 +08:00
@gap swiftUI 开发 iOS 没啥毛病,你要是用来写桌面端,是真的难受,但是就算用来写 iOS ,Xcode 也一言难尽,总之苹果的技术栈是真的不好玩
ChrisFreeMan
2023-09-20 09:33:18 +08:00
@sjhhjx0122
@sub166 我考虑过了 solidjs ,宣传很美妙,但是这种 one man project 风险太大了,贡献度过于集中在一个人,也许刚起步吧,会继续观望。
ChrisFreeMan
2023-09-20 09:34:31 +08:00
@enpitsulin 不会不会,我不信还会比 swiftUI 恶心,用 swift UI 开发桌面应用,看啥都眉清目秀
shunia
2023-09-20 09:43:33 +08:00
solidjs 的心智负担比 reactjs 大多了,别信。
目前的现代前端框架里,只有 react 的心智负担是最小的。
ChrisFreeMan
2023-09-20 09:49:07 +08:00
@shunia 嗯嗯,在能够遇见的未来,我应该都会紧贴 react 了。把东西舒舒服服顺利做出来才是最重要的。
RoyRao
2023-09-20 10:11:49 +08:00
桌面端还是锁死 Cocoa 比较好 😂 另外想问下 OP ,Electron 的 macOS App ,上架 App Store 的流程有什么痛点吗?然后审核会更严格吗?
ChrisFreeMan
2023-09-20 10:15:23 +08:00
@RoyRao 没有啥痛点,遵守沙盒规则就好了。
ChrisFreeMan
2023-09-20 10:16:45 +08:00
@RoyRao 可能签名的时候会卡一点,因为自一套流程在 Xcode 上都是全自动的。
RoyRao
2023-09-20 11:20:07 +08:00
@ChrisFreeMan #13 是的,就是不清楚 Electron 如何签名,不知道 OP 可否分享一下学习历程?本人有 React 的 web 开发经验和 Swift 的原生开发经验,但是没有尝试过 Electron 上架 App Store
ChrisFreeMan
2023-09-20 11:23:39 +08:00
@RoyRao 没那么难,electron 有个工具 electron forge 已经帮你搞定绝大部分活了,绝大部分也是自动化,你只是需要手动下载两个证书就可以了。了解一下证书的区别。
ChrisFreeMan
2023-09-20 11:30:43 +08:00
@RoyRao 在 electron 的官方文档里面说的非常清楚了,基本上就是需要了解的全部了。https://www.electronjs.org/docs/latest/tutorial/mac-app-store-submission-guide 。 如果遇到问题,搜一下本站站友的开源 electron app ,看看他们的项目是怎么搞的,就 OK 了
duan602728596
2023-09-20 11:41:56 +08:00
写客户端可能还需要用到 react-router 和 redux
ChrisFreeMan
2023-09-20 12:26:30 +08:00
@duan602728596 不太理解为啥开发本地应用需要 react-router ,请问下有啥情况会用上,redux 的话也不是很理解,react 不是有自带的状态管理 useContext 吗。
duan602728596
2023-09-20 12:38:11 +08:00
@ChrisFreeMan 如果软件有很多界面且不打开新窗口,就需要 react-router 。redux 是数据持久化,保证切换界面时数据不丢失。
比如我写了一个下载器,当我切换到软件设置时,就要到一个新界面来配置,配置完毕后回到原界面,这是 react-router 做的。当我在软件设置时,正在下载的这个 list 还在,而且回到原界面时还能看到下载进度,这就是 redux 要做的。
ChrisFreeMan
2023-09-20 12:48:06 +08:00
@duan602728596 明白了,应用类型和交互方式的问题,因为我目前开发的应用都是平铺的。多谢解释。

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

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

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

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

© 2021 V2EX