2017 年,从零开始学前端开发,有推荐的技术栈么?

2016-12-29 11:18:50 +08:00
 gevin

如题,想知道各位大神有何建议?(方向是前后台分离)

ps :我个人有 N 年后台开发经验,基于传统的 html+jquery+css 那套,也能写点前端。近几年前端爆发式的发展,而我近两年的焦点是微服务架构相关的,已经和前端技术的发展脱节,想再跟进一下前端的发展潮流却不知从何入手,求各位大神指点

11153 次点击
所在节点    程序员
80 条回复
lifesimple
2016-12-29 15:15:07 +08:00
[what-to-learn-in-2017-if-youre-a-frontend-developer]( https://medium.com/@sapegin/what-to-learn-in-2017-if-youre-a-frontend-developer-b6cfef46effd#.6hrr7i38v)

刷到这个文章 仅供参考
truecho
2016-12-29 15:37:54 +08:00
前端从入门到转行
gevin
2016-12-29 16:40:41 +08:00
@onlyice Fullstack React 是在官方网站买的?
toloric
2016-12-29 16:41:27 +08:00
还是 JavaScript + DOM 平台,学点 React ,最后再学点 Canvas .
onlyice
2016-12-29 16:45:16 +08:00
@gevin 对,感觉写得还不错,它主页写的一些理由也是学习 React 的痛点(比如过时的博客文章,变化的最佳实践),所以我买了书
murmur
2016-12-29 16:48:38 +08:00
给你个建议 如果上 react 初学千万别学 redux ,这东西好,但是是毒品
你笨想也知道,形式语言与自动机在本科都是难点科目,运用在项目里是那么容易的么?何况很多人就算给你需求文档,你连状态转移图手画都画不明白,更别说抽象成代码了,还不是随用随加,加一段时间就乱了
很多人忽悠你状态管理多么多么好,实际上项目大了你上了 action ,你有 reducer 一样给你写出屎一样的代码
程序的可维护性和可维护性,工程来说,只跟程序员的水平和项目有没有坚持代码审查有关
murmur
2016-12-29 16:49:55 +08:00
但是话说回来, react 的设计的却灵活,即便不用 redux ,你以前所有的知识,事件、共享变量,都可以用,只要能拿到 component 的实例什么都不是事,有 prop 和 state 折腾明白一样搞大新闻
vue 就不行,设计太死,这几天做项目为了一个共享路由,没办法最后还是上了 vux ,所有路都堵死了
toloric
2016-12-29 16:52:02 +08:00
Vanilla JS + 1

然后可以适当学一下 React ,非常简单的构建 UI 的库。
gevin
2016-12-29 16:56:06 +08:00
@onlyice 嗯,免费的是最贵的
kokdemo
2016-12-29 16:57:47 +08:00
@murmur 设计太死是指?
murmur
2016-12-29 16:59:19 +08:00
@kokdemo 比如我想在组件之间动态共享变量除了用 vuex 的 store 还有别的方式么
共享变量可以,但是行不通,因为你没法在外部触发一个组件的 setstate 类似的函数,也拿不到实例, vue 没构造方法也不让你拿他的 this 指针
aljun
2016-12-29 17:49:34 +08:00
@murmur 刚做了一个项目。。。表示真的有时候很想上 redux 。。。。。一直不敢上。。。
Mark24
2016-12-29 17:53:59 +08:00
一起写 vue !!!
jsq2627
2016-12-29 18:29:35 +08:00
@murmur 如果是纯 react ,该如何共享变量?

vue2 削弱了自带的跨组件通信能力,比如事件只能从子往父传,数据除了 v-model 外只能从父往子传。如果有其他的通信需求:
1. 用自带的一个简陋的 event bus 机制来实现
2. 把子组件用 ref 暴露出来直接调用方法
3. 上 vuex

你说的共享变量的需求,其实就是没有 mutation getter action 的 vuex ,自己实现一个是非常非常容易的 https://www.v2ex.com/static/img/doge.gif
http://codepen.io/jsq2627/pen/pNMPXz
wobuhuicode
2016-12-29 18:42:03 +08:00
千万不要碰 Immutable , redux 什么鬼的。学学基础知识就好了,
jsq2627
2016-12-29 18:42:35 +08:00
初学者的话,还是 vue 好上手多啦,我个人也更喜欢 vue
react 好处是现阶段生态比较完整,功能稳定,坑相对少些

个人感觉等发展成熟以后会殊途同归,不排除 react 加入响应式属性的可能,也不排除 vue 取消 v-model 的可能。我感觉 vue 就是在 angular1 和 react 之间找到了一个合适的平衡点,所以大家都喜欢。
murmur
2016-12-29 21:12:00 +08:00
@jsq2627 纯 event 跨组件或者父到子肯定也要 event 了 或者用第三方实现的 context 让子节点有继承父节点作用域的功能
zhghaha
2016-12-29 21:18:16 +08:00
vue 相对简单,react 的 redux 和 react-router,结合起来要人命。
murmur
2016-12-29 21:20:55 +08:00
@aljun 上不上看项目的复杂度,最简单衡量项目复杂度的就是简单的模块叠加再多都是简单,这种东西开 n 个 iframe 都能随便搞定
如果你需要频繁的子-父交互,比如大量对话框,这种传统 event 反倒是最方便的,而且是理解起来没难度的
有些时候项目复杂是你设计复杂了,有的是项目经理强奸用户乱做一堆东西,真的东西太复杂,用户用着呢?
而且 event 用了这么多年,难调试么?源生的 event 加了个 target 就解决了。。
复杂的状态是什么, todo 这种,看着简单做起来可以做出花来,那种状态转移笔都写不清楚了,上 redux 妥妥的
lijsh
2016-12-29 21:30:20 +08:00
前端说是发展得很快,很多新名词,但其实核心的东西还是那些,并不是很复杂。

首先是数据驱动 UI , React 、 Vue 和 Angular 都是给 DOM 提供一层绑定,你不用再像 jQuery 那样 DOM 选取、 DOM 操作满天飞,只要设置好 data 到 UI (模板,或者 DOM )的绑定,模板留事件处理的接口,这样你操作 data (纯对象操作,数组的增删等) DOM 会自动刷新。这些框架里最容易入门的要数 Vue 了,而且官方文档写得非常好,推荐。

至于其他组件化、状态管理的东西,先跳过了。

记得学一下 JavaScript 的 ES6 语法,最常用的特性并不多,一篇文章足以概括。

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

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

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

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

© 2021 V2EX