前端开发遇到瓶颈,求解惑

感觉前端的工作和学习遇到瓶颈了~~求解惑

在将近一年的前端工作中,独立完成了一个系统的前端开发。系统功能为一般的增删查改,以及图表统计的功能。完成了七八个版本的迭代。系统是自己写的jsp页面,有一百来个jsp了。页面组件部分用了bootstrap的样式,统计图表用的echart。页面 表格用的bootstrap table。页面的是用iframe套接起来的,所以页面都是彼此独立的。完全可以满足需求功能。只是功能交互上用户体验不是很好,这个iframe的嵌套。然后页面交互功能都是自己用J's和jq写的一个个方法实现的。样式也多数是自己码的样式。同时页面表单多是用的el表达式来获得后台发送的数据,以及Ajax向后台请求数据。表单提交也是自己写的方法进行验证。如今,看到前端的开发者们都用什么框架实现什么模态化开发,以及sass, less来预处理样式什么的,还有那个什么按需加载的插件。突然感觉自己好落伍了。然后自己也去看这些什么backbone.js,sea. js, angular.js , require. js , sass, less, node. js等等这些。但是学习得很是浮躁,感觉好难理解,好抽象 ,学不下去。现在感到很迷惘,不知前端该如何循序渐进了。在一个成熟的产品中得不到进步。求指导指教引导!!!

阅读 9.1k
12 个回答

从某种程度来说你是“落伍”了,但这不叫“瓶颈”,而叫“负债”。新技术新工具的诞生就是为了解决以前存在的问题,当你发现别人在用新工具而你还没有用的时候,你首先应该考虑的不是自己“是否落伍”了,而是有什么问题是这个工具可以解决的但是我却没意识到?

在你开始学习一门新技术或新工具之前,一定要先了解透彻它到底解决了什么问题,以及是用什么方式解决了这一问题。这个预习功课一定要做,看似和具体的代码、API等等无关,但是它将决定你能不能搞清自己的“负债”在哪里,学了之后能偿还到何种程度?

你的浮躁就源于你不太了解学这些东西的意义为何,只是一味的“人云亦云,人学亦学”,“别人都会我不会就很土鳖”,然而你不清楚它们对你的实际工作都能产生何种影响。没有明确目标和导向的学习肯定会让人感觉很苦闷的。

比如说你现在的项目情况其实就不适合学 Angular,一个 legacy 的基于 JSP 的 crud 项目,要完全改写成 Angular 要费多大劲你了解吗?(不如重写,同时也就意味你原来的代码基本就是废的)但反过来真的改写之后好处有多大你知道吗?现在的你是不会知道的,所以你学 Angular 就是自找的一头撞个硬钉子,因为你连它到底是干嘛的都没摸清楚。

所以,不要动不动就“瓶颈”自己,这原本是一个令人暗爽的词。以后要怎么做以后慢慢来,第一步先去了解它们,心里有数之后再谈学哪个。都学可不可能?当然可能,但对现在的你来说没必要,你也搞不定。

技术总是由需求决定的,可能现在的需求靠目前掌握的技术就可以完成,但是当系统不断的增大、复杂,现在的技术就无法满足了,新的需求出现,也正好给了学习新技术的方向和动力。

目前比较的火的两个前端框架是angular , 比较或的view技术是react ,他们的特点是在现有基础上,不同程度的创新,开创了一种或多种的新模式、思想,接触并使用他们,可以开阔自己的视野和思维。

总结:

  • 新技术 --》 接触、了解
  • 新需求 --》 学习、使用

最后附上一些资源链接

前端总结
angular资料

前端开发者的成长,我认为分为两个路线,一个是从繁复的各种需求中抽离出来,形成自己的开发模型,这种模型一定是高效的,不仅能够快速实现需求,而且也适合任何人使用,方便快捷,最终可以形成自己的前端工具或框架,另一条路线,则是往底层走,从繁琐的编程工作中提升到研究的层面,对代码的执行原理有更深的了解,从原理出发去解决所面临的问题。实际上,这两者是不冲突的,都要靠自己去学习和体悟。

同在学习和成长中,共勉~

那么我这个还在写兼容IE6的,是不是已然落后一个时代了,哎...
和LZ一样感觉,觉得太浮躁了点,看到各种前端新奇的技术框架啥的,手头的项目根本不会接触到这些新奇的东西,也只好平时空余时间自己去看看,了解下。
建议还是慢慢来,毕竟前端框架那么多,不可能都学一遍吧,找几个学学,其他的以后项目中用到,再学。

不要为了学而学,学习某个框架只是为了能更好解决自己的问题

题主可能不是缺乏学习的热情,也不缺乏学习的目标。
应该是没有在学习过程中找到持续提升的成就感.这是一种两性循环,一旦进入会有一种打通任督二脉的感觉。
学习方式也是需要长期培养的,持续改变的。题主不单单学前段,可能学其他技术也会碰见瓶颈期的感觉。

关于学习方法推荐两本书本书

《我们要自学》:http://book.douban.com/subject/26270774/
《如何阅读一本书》: http://book.douban.com/subject/1013208/

关于前段学习推荐两个同事的博客和Github

《Javascript核心概念及实践》作者博客:
http://icodeit.org/3p3w/

在推荐另一个同事的Github:
https://github.com/dongyuwei
这位低调一点 09 ~ 12年新浪微博前端,共事过半年,收获颇丰。绝对是前段大牛.

如果你对我的博客也感兴趣

Jianshu传送门: http://www.jianshu.com/users/MjqJJb/latest_articles
JavaEye传送门(停止更新): http://witcheryne.iteye.com

写了这么多就没体会到什么?是不是每个按钮写个事件很痛苦?是不是觉得代码很乱?这不是就出现问题了吗,所以要用新技术解决,不断学习进步

每天都关注前端技术,学习前端最基础最核心的东西,就可以快刀斩乱麻。不同的项目会运用不同的框架,永远不可能有搞定一个框架行走天下的可能。万变不离其宗,融汇贯通核心的东西,多看多思多做,自然而然的就步入到一览众山小的境界。前端懒不得,要天天关注与学习,才会在项目中准确选择框架。工作经历是为丰富知识、反思积累的过程,以保证在今后的项目中不犯相同错误,以做得更好。

前端界面个人推荐是最好不要出现啥iframe

我认为那么多回答并没能解决题主的问题

我曾经也和你一样迷茫过,我分享下我是怎么跨过前端「瓶颈」的:

  1. 学习一个 css 预处理器工具,sass 或者 less ,个人推荐 sass。学习曲线极低,您最多只需要 20 分钟就懂了。

  2. 学习一下 ES6 和 react
    首先推荐一本书 阮一峰的 《ES 6 标准入门》(现在已经是第二版了),这是一本非常好的 ES6 工具书,重点看一下 变量的解构赋值,箭头函数,Module 就可以学习 react 了!

通过 react 你会知道什么是组件化,又学会了 ES6 的模块化(这样就不用看什么 sea. js,require. js 了 ,因为 ES6 的模块化成了标准)

3.学习一下 redux 和 函数式编程
我相信您按着这个步骤走,一定能跨过这个迷茫!

关注新技术就会觉得有学不完的东西。

1.首先,从一个项目的角度来说,你所做的项目只是业务成熟,技术并不成熟,先不说落伍不落伍的问题,你自己在开发过程中有没有思考过自己的代码是不是实现合理,是不是有优化空间。在实现功能的过程中,所采用的方式,是不是深刻考虑过内部的原理是啥,看你说的,主要是用了jQuery,那有没有想过,脱离了jQuery,要来实现同样的功能怎么实现,或者自己来实现jQuery的功能应该怎么做
2.所有一切上层抽象的东西,新技术啥的,本质上都离不开底层的基础,JavaScript,css,html,扪心自问一下自己的基础是否扎实,自己是否有探究事物本质的好奇心和欲望
3.反思自己是不是只满足于实现业务需求,满足于拷贝粘贴,是否跟进新技术的发展,是否有思考如何把新技术应用自己的日出工作中,是否有打算应用一些新技术提高自己的工作效率的想法等等

推荐问题
宣传栏