1. 前端是有多难看完你就知道了
最近感觉追不动前端的发展了,写篇文章感叹一下。
HTML
我知道有一些学校会教一些简单的网页制作,就是用 Dreamweaver 点一点的那种。大多也会留作业,最后交作业的时候看起来也像模像样。
只要不看代码。
看了代码感觉宁愿选择死亡。
table 布局,无意义的 dom 节点。大小写混用,缩进混乱。
作为一个前端工程师,至少要写明白自己写的声明是什么意思对吧?
然后还得减少不必要的 dom 节点,毕竟很多文章说节点多会影响渲染速度(ps: 我是不在乎的,我觉得有点儿矫枉过正的味道了)
然后比较重要的一点儿是对于语义化标签的见解。比如什么时候该用 ul, 什么时候该用 section, aside
至于 head 里面的那些无聊的声明只要会复制粘贴就好了,我觉得没什么意思
自信做到这些的应该算差不多了
文章说的是前端有多难,很多人都觉得这些标签简单。然而想象一下,要写多少的标签才能理解语义化的意义?要写多少页面才能真正的明白这个节点应该写什么标签?如何组合才算合理?
CSS
然后是关于 CSS,我觉得这方面是很复杂的。并不像很多人觉得只是一些单词的组合。
一开始我会改 background-color 觉得开心得不行,以为掌握了
后来无限突破视野。
在第一次写超过50个class之后就感觉想死,重复性劳动,样式修改调试,写法丑。。。
接触到 Sass 之后像是发现了新大陆,有一段时间甚至不会写原生 css 语法了。
然后折腾: Sass -> Stylus
到这里结束了么? naive
后面还有postcss, cssnext 这些东西。
在 react 生态中还有 css-moles, css-in-js 这些鬼东西。
虽然语法都不是很难。但是这么长时间的折腾下来,虽说提升是有的,但并没有感觉到生产力有多少巨大的提升。
css 到这里还没完。
还有BEM的命名方式要去理解。
到这里依旧没有完。
css3 的新特性,还有各种 hack。比如如何实现footer始终在底部,内容始终撑满全局?如何实现条纹?
到这里结束了么?
依旧没完。
css stage 4 等着去学习。
还有精力?
可以试着多做些兼容性相关的东西。会崩溃,相信我
到这里?
在我的视野中差不多算结束了,然而有谁能确定明天有没有一个什么new-css之类的东西解决什么问题。
JS
来了来了,前端的一个核心。
说JS轻松么?咱们来扯扯。
首先是各种 dom 的增删改,然后是ajax相关。学会了差不多能做简单的页面了。
然后对异步的理解。只有理解了异步才能正常地写js。
然后是对js语言特性的理解。比如ES5如何实现继承什么的,闭包。
总之这些就是面试题总是会问的东西。
之后还应该理解设计模式对吧?
到这里是正常的语言应该学习的内容了。然而js到这里只是起步。
之后一个前端工程师还得会 ES2015/2016 之类的吧。现在不写个async谁好意思说自己是写前端的?
之后应该是配合工具了,后文说。
继续顺着语言往下说。会了 ECMAScript 就能做个合格的前端了么?
还早呢。
之前火的 coffee script 现在不行了,然而 TypeScript 火了啊。不学一下怎么好意思追前端?
ts 对于之前写 Java, C# 的非常友好,基本语法没什么变化。然而可苦了那些不写这些语言的同学。语法改变倒是其次,思维方式的转变才是难以接受的。
现在还有 Elm 了。。。
我觉得我老了,追不上了
2. 哪些人适合学习web前端
大学生
每年大学毕业生的人数都在增加,大学生毕业就等于失业这种说法也是越来越多,大学生就业压力逐渐增大,面对积重难返的大学生就业困境,很多人看到了web前端工程师这一有利职位,其技术门槛相对较低,需求量较大,薪资待遇良好,更具备广阔的发展空间。此外,大学毕业生刚刚毕业,其在校园储备的知识量还是很适合继续深造的。所以说大学生适合学习web前端,
设计师
这是一种比较常见的情况,因为通常设计师都会或多或少的了解一些前端方面的知识,所以自然也会对其样式和数据分离的特性产生兴趣。搞设计出身的前端有一个优势是能更好地把握设计稿的表现重点。
对前端行业的喜爱
随着互联网的普及,越来越多的青少年很早便接触了互联网,3d游戏、做网站等等,想学点与互联网相关的内容,首选自然是前端,因为入门要求低,很多Twitter名人就是其中的典型,他们更懂得网民需要什么,写的程序操作简单。
策划、编辑转行业
策划、编辑主要就是复制、粘贴这类的重复性的工作,但是也需要对常见的代码熟知且了解,慢慢的他们也开始了解web前端这一行业,比一般性的文字工作有趣,并且经过深入的学习,最终也能获得一份高薪收入,因此也有许多人转行来学。
后台操作工程师转行
作为与代码有关的工作,更适合程序员学习,其思维方式相似。像淘宝第一位前端工程师本身是写Java的,经常也听到有面试后台程序员结果被推到前端然 后被录取的,很多后台转战前端的程序员,大多去做Web Apps,即基于Ajax和各种复杂架构的Web运用,而这一技术方向,也是Web前端的大势所趋。
有意向学习前端的同学推荐大家去B站搜索 尚学堂前端学院 里面有很多的学习资料 力荐
希望会给大家带来帮助!
3. 学习web前端要注意什么工作中最常用的技术是什么怎样着手学更快
都说前端入门低,想学好前端绝对不容易,可以说现在前端所需要掌握的技能超过后端和以往,新技术概念层出不穷,到底所谓的前端都应该干些什么都应该会写什么呢?
本人身边有太多的人会切几张图, 会用jQuery做个特效, 会从bootstrap里复制粘贴, 会用html游戏框架写个flappy bird, 会在Github里找各种模板自和库拼拼凑凑, 就口口声声大言不惭的称自己为前端工程师. 说什么前端好简单啊, 前端找工作好难啊, 没有出路啊, 想转行啊. 甚至有更多的人还不明白什么是HTML, 就到处问(知乎里尤其多)怎么开始学前端啊, 前端前景好不好啊. 依照本人的经验, 什么东西难不难, 什么东西好不好, 可不是这样问出来的. 我相信在这在这种网络信息资源及其丰富的年代, 花个半小时自行搜索一下你应该可以得到你想要的答案.
好了言归正传, 前端工程师真的是一个无关紧要的职位么? 我们先来看看前端工程师都要做些什么, 看看那些称自己是'所谓'的前端同学们都能走到哪一步.
这里直接跳过最基本的HTML+CSS+JS, 包括但不仅限于:
- HTML各种element怎么用什么时候用?
- Event? EventLitsener? HTML中触发event以及JS中处理event?
- DOM tree? 添加? 修改? 删除? 搜索? 遍历? 选择? children? parent? sibling?
- 什么是window? 什么是document?
- JS基本语法? function? loop&condition? scope&closure? array&object? this?
- CSS 什么是box modal? position? float? 各种选择器(*, >, ~, :nth-child)?
如果看到这里有任何一项完全没听说过没用过, 或者查各种文档后'大概'知道怎么用的同学们, 很遗憾, 你们现在算不上是一个合格的前端工程师. 如果不是, 请继续.
### 程序员的基本素质和知识
(有些人觉得前端不同于传统意义上的程序员, 这点我十分不赞同. 或许把前端工程师叫做JS程序员更加贴切, HTML和CSS就好比其他语言中的UI库)-
- 高数, 基本的概率统计 (连简单的微分方程都不会解的朋友们就不要称自己为前端人员了!)
- 基本数据结构 能用JS写出linked list, stack, queue, (binary)tree, graph, hashtable么?
- 基本算法 能用JS实现各种search(linear, binary..), 各种sort(bubble, insertion, merge, quick, selection), 以及树的搜索(Breadth First/Depth First)和遍历(3种顺序)么?
- 设计模式 知道什么是singleton, factory, strategy, decrator么?
- Git 不要只是停留在把Github当做一个网络储存器的层面上, 知道branch, diff, merge么?
- 基本的英语能力(不要求听说, 只用来读/写文档资料)
- 基本的计算机知识 知道位运算, 溢出, thread, lock, concurrency, parallelism么?
- 熟悉unix的基本命令么? 知道ssh public/private key都是干嘛的么?
- 知道正则么? 能够熟练的使用么?
- 能写出详细的注释/文档, 让阅读你代码的人知道你要干嘛么? 能短时间内快速地读懂来自你同事或者其他地方(github, blog)的代码, 知道什么东西应该写在什么地方, 以便迅速地参与其中么?
- 给你一个你从来没有接触过的库/语言, 能能够在较短的时间内在你的代码里正确使用么?
- 有一个得心应手用的熟练地编辑器/IDE么? 不要求大家都是vim/emacs大神, 但也不要做什么都是用鼠标来点.
- 基本的检索查询能力(google, stackoverflow, MDN)
- 单独思考解决问题的能力, 团队合作, 与人相处
如果以上的内容都有所了解(这里不会强调精通), 恭喜你, 你拥有了成为前端工程师的基础知识. 继续.
### 前端专业知识
- 知道什么是AMD, COMMONJS么? 知道call, apply, bind么? 知道JS中foreach, filter, some, every么? 知道怎么实现functional JS(curry等)么?
- 知道各种所谓的高级HTML的API(File, Web Audio, WebSocket)么?
- 知道各种CSS Preprocessors么? 能讲出他们各自的优点和缺点么? 熟悉并且会用其中的一种么?
- 知道各种CSS框架么? 能讲出他们各自的优点和缺点么? 熟悉并且会用其中的一种么?
- 知道canvas, SVG么?
- 知道怎么把你的东西做成responsive, cross-browser support么?
- 知道什么是SEO并且怎么优化么? 知道各种meta data的含义么?
- 知道什么是Ajax, restful, get, post么? 知道怎么和后台交互么?
- 知道各种JS框架(Angular, Backbone, Ember, React, Meteor, Knockout...)么? 能讲出他们各自的优点和缺点么? 熟悉并且会用其中的一种或多种么?
- 知道什么是webkit么? 知道怎么用浏览器的各种工具来调试和debug代码么?
- 知道现在前端一般的工作流程(gulp, grunt, git, svn, npm)么?
- 知道怎么测试代码么? 知道BDD, TDD, Unit Test么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
- 知道前端templating(Mustache, underscore, handlebars)是干嘛的, 怎么用么?
- 知道npm, V8, node, express, socket么? (这里补充一点, 现在越来越多的公司都采用: '前端网页 -> 前端后台 -> 后台'这种构架来搭建东西, 也就是说, 前端工程师不仅要做传统前端的网页, 还要写自己的后台, 来跟真正的后台进行交互, 至于前端的后台用什么语言来写, 一般是node/python/ruby, 不太会用到庞大的java, 所以这里我把node列为前端工程师必须要掌握的技能之一) 知道cache, authentication么?
- (如果要用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?
- 另外, 前端这个行业跟传统的c/c++/java程序员还是有一定的差别的. 由于是新兴产业, 所以各种行业标准, 框架, 库会随时随地的产生和更新 (作为一个c程序员, 十年前怎么写东西现在还是怎么写东西). 今天出了node和react, 明天又出了io和mean. 所以, 积极关注各种前端产品, 跟上变化的节奏, 也是身为一个前端程序员必备的技能之一. 知道ECMAScript 6里怎么写class么? 知道react, flux, reflux么? 知道polymer, dart么? 知道meteor么?
以上是摘自知乎某大牛的文章=====
感觉对新人挺打击的,不过理清从大体上重新认识前端对学习理解也有一定帮助,只要自己想好了就坚持下去,学前端的最重要的随时学习能力,应该前端领域知识面涵盖太广,很多技术也不成熟,正在发展中,只能不停学习各种新技术新知识。。能分辨哪些技术是必须掌握的,哪些是少数人创造用来提”升逼格“的概念,能把PS+HTML+CSS+js玩熟,会一两个框架,懂点设计。就可以了
4. 为什么有的时候往一个地方复制文字只显示一点
你说的单元格是指网页上的文本框吧
在网页制作的时候制作者就会按照一定的规则去设定每个文本框所输入字符的最大限制 如果你超过了限制 只会从你复制的前端向后截取规定的字符数 其他的是输入不进去的 当然你的剪切板上还有 只是该网页的文本框不允许显示
5. web前端适合哪些人学习
web前端适合对互联网行业有兴趣,但基础较差的同学学习。
其实掌握了方法,前端学起来真的不会特别难。吃力的原因,可能在于学习顺序不太对,比如先去学习了最难的一部分,所以感觉比较吃力。
web全栈工程师5.0课程包括:
①计算机基础以及PS基础
②前端开发基础(HTML5开发、JavaScript基础到高级、jQuery网页特效、Bootstrap框架)
③移动开发
④前端高级开发(ECMAScript6、Veu.js框架开发、webpack、前端页面优化、React框架开发、AngularJS 2.0框架开发等)
⑤小程序开发
⑥全栈开发(MySQL数据库、Python编程语言、Django框架等)
⑦就业拓展(网站SEO与前端安全技术)
互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
6. 刚入行前端编程,基础很薄弱,感觉很迷茫,请问该怎么学习
慕课网找视频,或者网上有人会发布免费的视频。先基础,在高级,webaoi,es6。
7. 大公司和小公司的Web前端在工作要求上有什么区别
今天小编要跟大家分享的文章是关于大公司和小公司的web前端在工作要求上有什么区别?在互联网大厂和小厂工作,到底有什么不一样的呢?其实我个人觉得,不管从开发流程、代码要求还是工具应用上,都是有比较明显的区别的。下面小编就来跟大家分析一下小厂和大厂的区别,希望能给大家一些帮助。
一、开发流程上的区别
1、通常开发流程
项目立项->需求评估->模块划分(按业务)->基础架构建设->交付任务开发
2、开发流程的区别
大厂与小厂的开发流程是区别最大的,也是我刚开始最头疼的。
刚开始在小厂工作,沿用的都是Vue-cli弄下来,然后直接写代码的套路。
但是大厂一般都是多人合作的大型项目,都会有自己的初始化模版。里面已经写好了一些规范检查,项目专用的
Webpack配置,一些基础模块(如登陆,验证,侧边栏)。每一个开发人员,只需要下载这套模版,然后写自己的业务部分就行了。
3、测试区别
很多小厂由于成本的原因都没有测试环节,但是负责大厂的大项目,持续集成,e2e,单元测试都是必不可少的。
业务部分必须测试覆盖率达到标准才允许发布。我在刚进入现在这家公司时,也是十分不适应,让人抓狂。
所以其实对于很多人来说,真正缺少的不是写项目的能力,而是这一系列的工程化实践。
二、代码要求的区别
小厂在写代码的时候很多都是复制粘贴,只要能跑就行,但是,大厂的一般项目都会配置有严格的规范。每个项目的
eslint都是自定义去编写的,保证大家产出代码的风格。
除此之外,大厂对于代码的质量要求更高,刚开始进来时写出来的代码,经常被检查的人批可扩展性不好,健壮性不好。
好在平时技术氛围还是比较浓厚,大家会经常交流设计模式与各种好代码,好思想,在这样的渲染下,也很快适应了下来。
而且再也不敢写垃圾代码了,因为大家都在追求高质量代码,而非能跑就行。
是不是看完觉得有点很头疼,确实对于在小厂工作习惯的程序员来说,这些东西是最不擅长的。
但是目前前端竞争激烈,优胜劣汰,我们确实又必须拥有这样的能力。
因为这些工程化的能力,和写出好代码的能力,直接决定了你是一个码农,还是一个工程师。
以上就是小编今天为大家分享的关于大公司和小公司的web前端在工作要求上有什么区别的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助。想要了解更多web前端相关之记得关注北大青鸟web培训官网。最后祝愿小伙伴们工作顺利!