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

233 天前
 ChrisFreeMan

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

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

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

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

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

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

© 2021 V2EX