欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

web前端菜鸟,好迷茫?

程序员文章站 2022-04-15 10:37:50
...
先说问题吧:感觉前端涉及到的东西太多了,自己也很浮躁,看了挺多书,可是代码缺敲得却不多。技术菜,又什么都想学,比如现在纠结要不要先学scss或者php或者angularjs,backbone等框架,还是深入学习html5+css3?

然后看了一些招聘要求发现又有一些坑要填,经常处于焦躁状态,感觉心好累,然后心一累,又知乎上看各种打鸡血的东西,这鸡血一打多,头脑就热起来了,就想毕业去北京闯一闯了,但又好担心去了找不到工作,想问下前辈们,要找到3000以上的前端工作的话,我得在哪方面多准备?

———————————————我是分割线1———————————————
这里交代下背景:二本大四地信,感觉本专业就业不适合自己,又之前学过c语言,发现还挺有趣,然后上学期校招时发现程序员工资待遇不错,就萌发了转行的意向,只有简单的c语言基础,不知道从何入手,恰巧宣讲会时听一主管吹牛说,web前端简单,前端简单,简单,东西好弄,学一样少一样。从此便入坑前端了。
———————————————我是分割线2————————————————
再交代下水平:现在自学3个半月了,w3cshcool上刷了两遍html标签和css属性,fireworks切过几张psd图,要兼容ie6,各种坑。js的话,刷了两遍红皮书和一遍犀牛书(部分章节如nodejs跳过,再部分章节如xml,一些html5 api粗略过),了解一点对象,原型。

jquery的话,锋利的jquery没仔细看,感觉api都是实用性的,直接做了下后面的实例,和实现上面切的psd图的效果。感觉会用,但是不查手册,经常忘记属性名,方法的参数等。
———————————————我是分割线3————————————————
网上还找了一些据说看了可以带我装逼带我飞的书:高性能js,编写可维护的js(感觉这个作者碉堡了),蝴蝶书(评价很高,但是可能看的比较靠后,感觉内容基本在前面的书里都有提及),高性能网站建设指南(感觉也很厉害),ppk谈js(没有什么感觉,半天多就翻完了),html5程序设计(粗略过了一遍,还没有细看)

回复内容:

是的,学前端的基本都会遇到你这样的问题,要学的东西很多很多,一下子会迷茫其中,不知道该学什么技术,或者说优先去学什么技术。

题主看招聘进行结果导向地学习我是非常认同的,当初我也是看着网易前端的 JD 一条一条去 pass 掉的。至于你提到的 Angular、Backbone、PHP 以及 SCSS,我认为 PHP 是最迫切去学的,因为作为一个靠谱的前端,不能对后端完全不懂,否则难以在实际的工作中与后端进行协作,或者说就算自己想写一个小项目,没有后端技术的支持也是有点简陋的。

然后是 SCSS 或者类似的 Less 这样的技术,其实并不需要专门去学习,只需要在写 CSS 的时候对照着文档去做,或者将自己写过的项目中的 CSS 用 SCSS/Less 对照着文档去改写一下,实际上就差不多可以掌握了。

至于 Angular 或 Backbone 框架,我觉得这些可以先不用急着学,倒是建议在完成 PHP 入门级的学习以及 SCSS/Less 的尝试后,可以去接触 Node.js。因为 Node.js 无论是其 npm 包管理工具的生态环境,还是 Javacript 异步编程思想,都对你的前端技术有极大的帮助。尤其是越来越多的公司提出前后端分离的思想,更是让 Node.js 的地位不断地提高。

同时,建议你可以学习一下 Gulp ,这是一个自动化的工具,非常多公司都会用,而且比 Grunt 更易入手,代码简洁优雅。这个大概花个十来分钟就可以上手了,非常酷。

至于你提到的关于实习的问题,按照你问题描述中描述的水平,其实已经可以去实习了,可能一开始主要是做页面,但你可以从实际的工程开发中吸取经验,同时利用下班或周末假期的时间,去继续不断学习,不断提高自己的技术水平,从而让自己的待遇越来越高。3000 块钱一个月的工资在北京互联网中是比较低的,基本你随便去一家比较靠谱的公司都不会开这么低的价钱。

附我们的招聘信息:加入我们 - 矩道优达 情况差不多. 我也是二本大四狗.
上年12月份幸运的找了一份前端实习生,在一家创业公司工作.在公司目前只是负责把boss弄的设计图还原成网页.然后整合到wordpress.写写jquery 做做效果.

好吧 说说我找到工作之前的学习吧.
一年前 我也只是个什么都不懂得计算机系的学生.对.各种挂科逃课.导致什么都没学到.然后发现这样下去 我实习也就只能去找服务生这类的工作了.这完全不是我想要的人生啊.!!
然后开始学习各种前端知识.学html 和css 我没有题主那么认真把它全部撸了两 三遍.我觉得更多的是实践.把常用的标签记熟点,不懂就去查W3shool. 也就看完了1遍.Jquery是通过各种效果Demo去学的.
我觉得无论学习什么类型的编程语言.实践是最重要的.
所以我就跑去V2EX那里发帖,求了各种项目去做.说是打杂免费劳工.V2上的人都很热心的.有V友给了一个小项目给我做.也就只是静态页面.给了我一张PSD 让我自己切图,把页面给实现了.
第一次我做完给他,被批了一脸.这个margin不对.img尺寸不对.字体大小不一致等等各种细节上的问题. 在做之前,我一直以为静态页面没什么难度.的确做一个大致的静态页面很简单.但是细节上很多问题就体现出非常多的问题.他说一句话:"这页面就是一个没用的烂码."这是我记得最清楚的.因为别人还要花比你更多的时间去更改完善维护你的代码
我自以为是的成熟技术,其实在别人眼里一文不值.
这之后我觉得自己对前端技术根本不了解.就连最简单html和css都写的那么烂.
之后我就不去学习一些很高深的技术.一步步把自己的基础打好.不过多简单的页面.我都会把代码书写规范.html标签语义化.css类名直接明了等等.
连静态页面都写不好.如何与别人一起开发一些大型项目.

说说题主的情况吧.
编程类的书很多时候都只是需要过一遍. 然后它就会变成一本工具书.不懂就查.
最最重要还是实践.没有实践,无论看多少遍你都记不住的.
建议题主可以先去小公司或创业公司应聘.这类的公司小项目会比较多.很利于像我们这种前端小白去学习,获取经验.
还有一些小小的建议.学好点英语,多看看墙外的前端世界.(不要像我现在要恶补英语T_T).
第一次答那么长啊.多多包含.
加油吧.路还很长.我也需要慢慢走.题主你也一样,别急,很多成功都是积累而成的 计算机行业很多都符合82定律,也就是20%的东西的使用频率占到80%,所以很适合囫囵吞枣,我们的重点就是把这20%学起来,而首先要做的就是把这20%的东西找出来。
在我看来前端这20%的东西大概就是常用的html标签,css的盒子模型,基本的原生js,以及熟练使用jquery,ajax,常见浏览器的兼容。
拿下这些东西意义非凡,一方面证明你适合做前端这份工作,另一方面这些技能能让你找到一份工作。让你能够从容地去学习剩下的80%。
总之就是专心对付最重要的东西,那些什么less、sass、angular这类的东西,当你把我之前说的基础打好之后,学习起来畅通无阻,随学随用。
最后我觉得最难的就是实践,只有实践才能学到真正的技术,新人很难参与一些有价值有意义的项目,没有这些项目又很难成长,所以自己有项目可参与应该珍惜,没项目应该多造一些有价值的*。

感谢不点赞的都是耍流氓!!!!
        耍流氓!!!
        耍流氓!!!

一夜之间赞已接近最高票,受宠若惊,决定一不做二不休,把最高赞给夺过来。
评论里 @吴林朋友说写个提纲或者专栏,专栏就搞不起了,那就简单列个提纲,以期抛砖引玉。

1.html的语法、格式,常用的标签极其作用,理解标签的嵌套,学习使用firefox+firebug或者chrom的调试工具,能够使用这些工具调试html、css、js、断点调试、抓包

2.如何引入css、js(有多少种方法,各种方法有什么区别),理解id、class属性的区别,学会css的常用选择器,理解盒子模型(padding,margin,border,width,height,),css坐标系,css布局(position的absolute、relative 、fixed、static),css浮动(float:left、right )和清除浮动(clear),display:inline、block、inline-block、flex

3.js的执行顺序,基本的编程基础(变量、运算、流程控制、数组、调用函数、自定义函数、对象)、json、js的dom操作、js的事件机制(委托、绑定、监听,冒泡和阻止冒泡,兼容性),了解ajax的xmlhttprequest及其创建方法(多浏览器兼容)、跨域,明白其工作原理,评论里有朋友说http协议,确实是我疏忽,在学习ajax这部分免不了需要懂点http协议,比如什么是get和post,这两种如何传递参数,设置cookie等

4、使用jquery解放你的开发工作,学会jq选择器,修改属性、监听事件、修改css,学会写jquery插件。这一步我觉得可以和第3步穿插学习

5、搭建服务器,弄个傻瓜服务器比如wamp,phpstudy等软件,可以一键建立一个apache+php+mysql的服务器,前期可以把你的静态页发布到本地服务器,使用本地服务器配合ajax学习。

6、学点服务器端,建议php+mysql。
服务器端脚本其实很简单,总结起来就是4个东西:SESSION、COOKIE、Request、Response,结合http协议理解如何从Request取得数据,经过处理后Response给客户端。这就是整个过程。
至于mysql也就是基本的sql语句。如何使用php进行CURD操作。这块其实很难总结,基本上以实现业务为主。

7、来点框架,理解MVC模式、推荐个比较流行的MVC框架:ThinkPHP,简洁好用不解释,国人弄的,文档和例子什么的非常丰富。

写了乱七八糟一堆,大家凑合着看,建议从1往7学习。 去学一下seajs grunt FIS等等,我也在学————有些事情我们能做的更极致,为什么不去做呢? 14年我毕业的时候,唯一的技能就是在vs里拖几个控件,配合mssql一张stu的表做一个学生信息的CRUD,大学里的总代码量不超过10w,这些都不可怕,可怕的是直到大四时我还以为自己很NB。 大三复习考研,不考的都出去找单位实习了,后来研究生也没考上,又赶上了毕业又投入到了无尽的毕设和论文中,说是毕设其实大家都明白,都是一些学生型的项目,什么成绩系统,新闻系统之类的,真正开始做时才发现无处下手,出去实习的同学人家都ajax了,我特么连js怎么引入都不会,css是什么都不知道,我相信知乎里没有哪个程序员能超越我的高度了吧! 那时我每天8点起床开始做,中间除了吃饭上厕所一直到晚上11:30(因为要断电熄灯),遇到不懂的的地方就去网上找,实在想不明白的就去楼下宿舍问同学,记得第一次看到getElementById这个方法时心中一万只*奔腾而过,这什么鸟语啊,id和name有什么区别啊,padding和margin不都是缩进吗……此类种种,有时被一个问题卡住,想的头痛睡不着,在黑暗中爬起来拿出自己的Nokia手机上网查资料(那时还没用上智能机,屏幕很小)。那段时间虽然过的很苦,但异常充实每天都能学到新东西,进步非常快。 再之后就是跌跌撞撞找了一份不怎么样的工作,实习期的几个月可以说什么都没学到,有问题问多了老员工烦,直到后来来了一位培训师出身的大牛,带我做了几个项目,自己才算入了程序员的门。 后来的就不多说了,基本就靠自学了,说的有些啰嗦,其实说这些只是想告诉你你比我强多了,在校期间就知道这么多,并且有学习的意愿,这些才是最重要的。 angular backbone之类的框架性的先不要碰,打好html+css+js的基础,尤其是js,不要以为会写个function,会用几个jq插件就叫会js,还差的很远,认真做上几个项目,有针对性的进行学习,你经历的迷茫其实每个前端都经历过,我记得有句话是这么说的“迷茫只是因为你想的多,做的少”,实践才是检验真理的唯一标准,多做多练,你才能知道什么是真正的内功心法,什么是花拳绣腿。 迷茫什么?找几个国内最顶尖的商业网站,比如小米的网站、apple的网站。把它克隆下来,从中练习学习其中的技巧。克隆时只把样例网站当参考,css、js都自己写(当然库就用现成的)。完了,然后进行一些改动和创新。让其更上一层楼。别漫无目的的看书。多克隆几个,你的技术就突飞猛进了。然后再独立的创建几个完整的项目,培养原创能力。然后就可以拿着你的作品找工作了。 哇塞。。。猫头鹰、乌龟、蝴蝶书都知道。。[鼓掌]
浅浅谈一下,这3本书是我在工作两年后看的,茅塞顿开,建议初学的时候看看蝴蝶书就好,别的书都有涉及那是正常,全名叫《javascript 语言精粹》,了解一些好的习惯,知道一些不要去用的方法比如with,然后就可以开始敲代码了。猫头鹰和乌龟我建议等自己有比较丰富的代码经验了再去看,硬要看效果很差的。
不要去学框架,scss和less都是css的延伸、angular和backbone是HTML/JS的延伸,起码要先学会爬再去学走路,或者说,原生的js、HTML5以及css3都是地基,框架、工具(less、angular、backbone)什么的,都是基于地基之上的产物,地基够扎实,这些东西学起来分分钟的事。 找点自己喜欢的东西做并努力做到最好,遇到不懂的东西就去学。看书的时候多想想学了这个东西对我的实际工作到底有什么帮助,能够解决什么问题,之后再运用到实际的项目中去。光看不练是很难得到提高的,尤其前端这块。 跟你情况差不多啊,我是电商大四狗
----------------------------------说下我现在的状况吧---------------------------------------------
HTML5也只是熟悉到各个标签的语义以及一些属性什么,CSS3的话水平也一般,现在死扣Javascript呢,打算年后去上海,貌似上海搞IT的比较多。
针对你的困惑,我说下我的看法吧。
scss没接触过,和他比较类似的LESS SASS看过,语法很简单,学好CSS这个很简单的。
PHP也没接触过,后端学的是ASP.NET,很有很有必要掌握一门后端语言,要不做Ajax和json的时候工作原理都能不明白。
angularjs,backbone,这两个框架也没用过,前端框架用过Bootstrap,写过几个demo,但是标签中那满满的class名受不了了,所以放弃了。Jquery一开始接触前端的时候学过,后来也放弃了,可能学的不深的原因吧,觉得不好用,所以现在还是倾向于自己写Javascript,思考如何实现的过程很享受的。。

我觉得应该吧精力放在HTML5和CSS3上,现在大多数对HTML5的解释都比较倾向于是一系列技术的集合,不只只是"超文本标记语言5th",还有跟他涉及到的canvas WebGL 等等跟Javascript有关的很多新技术。所以Javascript很重要很重要。不要依赖框架,那个只会让我们停留在表层。
说到学习底层的原理,之前有一段时间在图书馆借了高纳德老先生的《具体数学》和《计算机程序设计艺术》。。英文版的啊,看了没两天就看不下去了。。
再推荐两本书吧一个是“中国刺猬书” 图灵的《数据结构与算法 Javascript描述》这本书对编写复杂的Javascript代码很有帮助。另一本是成林的《编写高质量代码:改善Javascript程序的188个建议》很多那些八九百页讲Javascript的书中没涉及到的原理其中都有涉及的。

加油!祝好运! 首先的要对自己定位定准确啊,如果只是想在北京拿到3000的话,w3c的html、css刷两遍,会写个简单的页面就够了,因为月薪3000的招聘岗位也不会有太高要求,肯定是准备招来做一些简单的工作的,甚至想着让你一边工作一边学习的。3000的话不要有太大压力。
如果说想要直接高起点入前端坑,那么要学习的东西还是很多的。
先声明我不是前端,但是略懂,之前在家小公司,前段后端一把抓。现在的公司有专门的前端,平时工作的合作也很多,所以对现在的新鲜技术还是有了解的。
首先你先给自己找准定位,你是打算以后就做一名纯前端,HTML/CSS/JS三剑客是必须扎实熟练的,有一些小技巧和你分享一下。看书我不敢说帮助不大(反正我没怎么看过),但是既然要进IT坑,动手才是最重要的。你可以去模板网之类的下载一些网站模板,自己动手切图还原成网页。还有以后上网的时候多留点心,看到一个网站一个效果写的特别棒,果断F12看一下源码,前端的代码基本都是可以看到的,慢慢看得多了,自然很多效果就心中有数了。PS;ctrl+U直接看网页源代码。没事多逛逛前端技术网站论坛之类,刚才好多回答里都有,我就不重复答了。
别纠结于框架,原生JS掌握好了,框架的学习成本非常低,基本就是临到用时直接看文档,很快就可以上手。不要过度依赖BOOTSTROP/JQ。另外自己动手的时候不要随便忽略IE6下兼容问题,虽然他一定会让你感觉到头疼,但是工作以后真的会用到,尤其是一个前端工程师。
这些做到了,如果还要专注前端不准备接触后端,可以继续学习H5/CSS3,对常用的插件框架有一定自己的理解,这时候你已经可以关注页面的效率问题了,不能只关注能否实现效果了,JS怎么写效率更高,哪些CSS样式的复用能够使样式文件更小、修改更方便。
如果打算接触后端转向混合型或干脆后端,推荐先入手PHP或者PYTHON。
重点不是怎么做,而是你要去做,光想肯定是成不了一个优秀的码农的呢。(PS:上班时间我跑来逛知乎是什么鬼?!)