说句实话,我后端现在已经看不懂前端了,太难了

2020-01-06 10:47:19 +08:00
 phpxiaowangzi

看不懂惹,肿么办,最近在学 react,完全抓瞎。

33889 次点击
所在节点    程序员
195 条回复
geying
2020-01-07 09:37:33 +08:00
搬个板凳看戏,想问下广大前端 coder 你们现在用的是啥框架,用的顺手么
wly19960911
2020-01-07 09:40:17 +08:00
@simo 构建工具方面肯定是全部语言都共享的,但是也不要求大家都懂怎么构建啊,难道后端那套构建就是自己去做的?插件自己来写的?...你懂了也要有能用的场景,上来就手写 maven 插件谁受得了呢...

UI 方面其实也是有革新的,至少 react 这套现在越走越顺,包括 flutter、android、iOS 那边现在都有这种声明式 UI 的 趋势或者苗头,写起来快多了。
linZ
2020-01-07 09:42:23 +08:00
@laibin6 没那么难理解的。。。redux 就相当于一个数据库,所有内容都与 redux 里的内容同步的。至于数据流什么的,action 那一部分忽略,直接 reducer 做 dispatch,然后 state 就更新,这样就好理解多了。。(记得忽略 action 那个东西,没吊用)
linZ
2020-01-07 09:45:50 +08:00
@avastms 你自己管理代码,别人还维护不维护了,统一用 redux,维护成本不是低好多
Felldeadbird
2020-01-07 09:47:27 +08:00
@qq292382270 我个人看法是,layui 比其他前端简单多了(vue 之类)。相对于以前开箱即用的前端框架(bootstrap),多了一层原生 JS(JSON)传递绑定,来实现各种优雅的操作。 但带来了一个很麻烦的事情,我每一个操作,都需要传递 JS,不如我后端生成模板方便。 所以,后面我又回去 bootstrap + JQ 了
frantic
2020-01-07 09:58:50 +08:00
@hyy1995 #37 结合最近这一年利用 Vue 来写后台管理系统的经历来看,非常赞同你的说法。任何一个领域要深入都要花大量的时间和精力,不如聚焦在自己的原本领域,性价比最高。对自己的成长来看,成为一个 T 形人才是要比一个什么都会一点 什么都不精的庸才要好的多的多
kitebear
2020-01-07 10:05:01 +08:00
😳
sgiyy
2020-01-07 10:08:06 +08:00
@Seanfuck 写个表单多,逻辑复杂的项目试一试?
winiex
2020-01-07 10:10:45 +08:00
和十年前比较,甚至五年前比较,前端的开发难度其实很低了。十年前还需要考虑兼容 IE6,最强工具时 jQuery 的日子才难过,一个半透明效果和布局兼容 bug 就可以让你调到怀疑人生。

现代前端开发的主要难度在于入手要学习的概念和模式太多,reactive 编程、ReactJS/VueJS、flux/Redux/MobX、webpack/browsify、es6/typescript 等等,但一旦都了解掌握了就再也回不去了。
H15018327040
2020-01-07 10:14:40 +08:00
三天看完 Vue 全家桶,俩天看完 React,学习难度彼此彼此.
chuhemiao
2020-01-07 10:26:40 +08:00
刷了 dva+react+redux+antd 脑阔疼......
mikulch
2020-01-07 10:35:28 +08:00
@hyyou2010 麻烦问下 react+redux 的这个专栏还有吗对应的文章么。
Ixizi
2020-01-07 10:39:57 +08:00
vue3.0 也要开始 react 化了 可能是未来几年前端最终的解决方案
micean
2020-01-07 10:40:59 +08:00
看到 JS 的各种配置就烦
XML 你们嫌弃落后繁琐,可人家有 DTD,什么都规范好了,哪怕 spring 的 application.properties 都有 IDEA 的加强,直接跳转到相应的配置类查看,一目了然
wangxiaoaer
2020-01-07 10:50:45 +08:00
@Felldeadbird #145 你说的对,写 hello world 这种展示性为主的应用还是 jQuery 一把梭比较简单。
maomaomao001
2020-01-07 10:53:34 +08:00
redux 又不是唯一选择, 你可以试试 react + mobx 组合 , 相当好用
hyyou2010
2020-01-07 11:27:51 +08:00
@mikulch

我可能写得不精确,应该只写 react,因为 redux 是常用,但非框架相关概念的关键。也就是说,下一步应该是理解为什么会冒出这些前端框架,react+vue+angular 这些,而 react 是理念的先行者,所以我更推荐通过 react 来理解框架的作用。

react 官网上有 helloworld 及 tutorial,而且都有中文版,前者尤其易读,我认为阅读这两篇文档可能就是理解为什么要有 react 框架的最好途径:
helloworld: https://zh-hans.reactjs.org/docs/hello-world.html 阅读 1.Hello World 到 12.React 哲学 即可。
turorial: https://zh-hans.reactjs.org/tutorial/tutorial.html#overview

理解的重点概念可能是:
1,小组件可以搭积木构成大组件,
2,使用 props/state 传递和管理数据。

这两点就是各种前端框架做的最核心的两件事。
shadeofgod
2020-01-07 11:31:23 +08:00
redux 的 action 是一个很重要的概念,要管理状态是很简单的,一个 {} 就可以了,但是应用复杂度一上去,这就是灾难了,有 action 这么一个概念存在,可以做到很方便的维护和 debug,让你明确 “when, where, why, and how your application's state changed”,理解这个目的,就很容易理解 redux 为什么要这样设计了。

但是 redux 有两个比较坑的点, 一个是把 action 这个概念暴露给了使用者,导致使用者自己要定义一堆的 action type,action creator,社区后来又出现了 https://redux-toolkit.js.org/ 这一类的工具来减少工作量。如果是从头开始写的话,你会觉得 redux 写起来真的太繁琐了,但是只维护的话,其实是非常轻松的,每一次交互操作触发了什么样的 action,携带了什么样的 payload,导致状态如何变化,都非常清晰。

第二个是 redux 的 reducer 是要求必须是同步和 pure 的,把最常需要处理的副作用完全不管,全部丢给了第三方的 middleware 来处理,各种各样的 middleware 层出不穷,又会额外引入非常多的概念。
wangyzj
2020-01-07 11:40:19 +08:00
@Ixizi 为什么一定要对象化
所有东西混编多闹心啊
FragmentLs
2020-01-07 11:49:35 +08:00
前端最烦的还是 webpack,有种你不挖个深坑跳进去你永远都不能好好用它的感觉...

虽然各种 boilerplate,但每次看到 error 时你总是怀疑是不是 webpack 的锅...

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

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

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

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

© 2021 V2EX