为什么感觉很多人都选择前端不选择java?

蒋献凯


因为很多人压根就不懂啥叫前端。

很多人认为前端就是html + CSS,这个叫网页设计,属于设计工作,不是程序员。

html css 压根就不是编程语言。

于是很多人觉得前端简单,html 和css根本不是程序语言,学起来当然简单了。

请记住一点,前端程序员也是程序员,他和其他程序员的唯一区别就是使用javascript,专门和浏览器打交道而已。

一个合格的前端,知识体系并不会比一个java项目程序员少多少,并且还要面对js这种一言难尽的语言,可以说技术难度甚至有时候比java还高。

所以,请不要连对象,循环,函数这些基本东西都搞不清楚呢,就说自己是前端程序员。

最后给大家一些建议,如果对编程感兴趣,可以先学其他语言,比如java,php,python,有一定的开发基础,然后再学习JavaScript转前端。

如果对编程不感兴趣,那么你就好好的去学设计,扎实ps,ai的基础,学好色彩理论,学好设计理论,然后你再去学html +css ,网页设计,简单了解一些js就可以了。

千万不要一股脑的去培训班学什么前端,学到最后没有编程能力做不了程序员,没有设计能力做不了设计,干啥啥不行,浪费了自己的青春。


shawn25



原因其实很简单

  1. 入门及其容易,精通极其困难。
    1. 一个智商正常的高中毕业生,一个星期,绝对能写出基本的HTML页面,附上CSS,还有简单的JS。
    2. 但是,只要你的资质不差,努力肯学,那么随着你的项目经验丰富和自己的钻研,RD(C、Java,甚至PHP)升级到高级工程师到资深工程师不难。但是前端,看看现在市场上的资深工程师有几个,北极厂里面能到T7、T8的,其他厂类似等级前端工程师有多少就知道了,JS的作为一个从函数式编程过来的语言,很多比较低级的工程师因为理解不了他的思想导致很容易装撞上天花板,然后再也迈不过去了。
  2. 锦上可以添花,雪中不能送炭
    1. 现在因为大家对移动端重视,对交互要求高,看了国外的好东西多了,审美也上来了,所以才觉得前端重要,交互重要。
    2. 但是客观说,一个网站/APP,没有好的前端,就是交互不好、页面不美观,就当作一个丑人吧。但是没有后端,功能实现不好,性能上不去,那就是缺胳膊少腿的残疾人了。
    3. 所以很多用人的CEO、CTO、HR喊缺前端的时候,心里想的是这个锦上缺朵花,但是绝对不会给你炭的地位。
  3. 充满BUG的开发环境
    1. 是的,计算机的一个重大的特点就是兼容性的问题。这个任何开发都不否认。
    2. 但是能够不兼容到JS、CSS这个级别的,还有几个语言?虽然说连C这样的都有兼容性问题,C89下跑的好好的程序,到了C99下面可能就会有问题,或者说你用的Sun的Java实现写的程序到MS的Java实现下面就有问题,但是那都是很细节,很特定的兼容性问题了啊。
    3. 像JS这样,连最重要的事件处理就两大派系,DOM结构两大派系,CSS一堆混乱的情况,真心没见过更乱的啊。就好象说你用的JDK里面的Date对象默认给你处理的是玛雅历法,你是不是想掀桌子骂人?
    4. 所以JS的面试、开发中,很大一块被人津津乐道的就是各种兼容性的问题,比如让你自己写一个AJAX实现你怎么处理不同浏览器的兼容性问题啊,冒泡和捕捉怎么处理啊等等。
    5. 不过感谢IE6,要不然全中国的2/3的FE都少失业了。
  4. 职能/责任不对称
    1. 在一个成熟的公司、项目里面,前端只负责显示、交互,和简单的现实逻辑,后端负责业务逻辑、数据存储。
    2. 对应的,前端出点问题,比如按钮位置不对了,点击后的事件不对了,傻子都能看出来,但是后端的问题,除非真的是逻辑写错了,而且是很直白的错误,否则很难一眼看出来,洒家曾经客串过一次RD,写的一个BUG上线稳定运行30后才发现。
    3. 但是出问题了,因为所有人,包括QA第一接触的就是前端界面,所以很自然的就把bug扔给前端,前端吭哧吭哧看半天,发现有60%都是后端的问题再扔过去——做过业务的FE同学肯定有过这样的经历吧。
    4. 所以洒家自己做leader的时候很多同学都抱怨过这些类似的问题,不是自己的问题但是第一个被指责的却是自己。很不爽,或者说,很委屈。
  5. 职业技能树乱点
    1. 一般公司里面,FE和RD都是放在技术体系下面,最终汇报对象都是CTO,但是FE在很多地方,技能树是瞎点出来了!
    2. 如果你看FE的面试题目,会发现和RD没啥区别,语言的特性、性能的分析、基本算法等等,除了把语言换掉基本没事情区别。
    3. 但是实际工作中,一个好的FE,要跟PM、UI/UE/UX、RD、QA打交道,需要你理解产品的思想,懂艺术设计,发现bug的时候还要跟踪到后端确定是谁的bug等等,人家RD的技能数是一颗茁壮成长的苍天大树,FE的技能书就是一个歪歪扭扭枝枝杈杈但是还要你长高长粗的怪树。
    4. 最明显的,需求评审会上,RD只关注这个功能我能不能实现,FE还要关注这个按钮能不能这么画,这个设计会不会有浏览器兼容问题,这个交互是不是合理——虽然这是别人的工作但是一旦有问题第一个被骂的都是FE啊。
  6. 职业发展线路不明
    1. 其实这点从整个互联网行业都有,你做医生、教师这些职业,看看周围的人,就知道,如果你做得好,或者不好,或者平庸,你到40、50、60的时候是什么样子。但是IT从业人员,尤其是互联网从业人员,看不到这个未来,所以才有那么多类似能不能写程序到30岁这样的问题。
    2. 在这个前提下,FE更悲催的是,RD可以看见自己的技术路线是,初级工程师、高级工程师、资深工程师、Team/Tech Leader、Tech Manager,直到CTO,当然半道改行的不算啊。
    3. 在FE看来,一直升到资深工程师还是可以的,但是后面除非很大的公司,有专门的前端Team,否则再升Leader和Manager的时候,FE处于一个很不利的地位。我们确实也看到因为FE的技能树乱点,所以很多FE也会在合适的时候走PM、UI、甚至创业的路线但是很难看见FE做到CTO(除非加入创业公司直接做CTO)。

随手画了这么一张图,只要你勤奋、努力,RD是可能随着时间累计自己的经验然后提高自己的等级的,但是FE可以看到,在蓝色点之前,很快的就能学到80%的技能,但是后面的20%需要非常长的时间去突破,甚至有人因为不理解FE的很多编程思想,几年都一直突破不过去。

如果你也喜欢IT方面的知识,欢迎关注我哦


北大青鸟海南大立校区


1.前端开发是什么?

前端开发是从网页制作演变而来。

早期的网页制作主要内容都是静态的,以文字图片为主,用户使用网站也以浏览为主。

随着互联网的发展,现代网页更佳美观,交互效果显著,功能更加强大。

因此现在的前端开发的主要技术通常是指html、css、js技术和一些开发框架的使用。

JAVA开发

基础语法。虽然Java语言经过了多次版本迭代,但是语言的基础语法一直秉持着纯粹的面向对象方式,所以java的根基始终没有变化。基础语法的关键在于理解各种抽象,包括类、抽象类、接口等,另外还需要掌握封装、继承和多态这一系列面向对象语言的特征。

Web开发是目前重要的开发方向之一,也是几乎每一名程序员都会掌握的内容。Web开发的内容包括两个大的部分,一部分是前端开发,另一部分是后端开发。随着大数据的发展,Jaa全栈程序员正在成为一个重要的岗位,所以前端开发知识对于Java程序员来说也比较重要。

前端开发的重点在于Html、CSS和javaScript,尤其是javaScript要重点学习一下。

后端开发要掌握的技术包括Serlet、JavaBean、JDBC以及Spring框架(SpringBoot、SpringCloud、SpringMC)。

相比较JAVA需要学习的内容更多,层次更深。





骑着摩托去取经的唐僧


这个就是仁者见仁智者见智了,都是开发岗位,只不过面对的对象不一样,前端对应的是网页,那就是我们打开网址看到的,包括这个网页中的结构和排版。java语言对应的后台,我们看不到的地方,它负责数据的储存以及读取,你在网页中填写的资料,会在后台数据库中储存起来,网页要显示的数据,是根据后台数据库中读取出来的。


前端和JAVA(后台)特点:

前端:相对与JAVA相对简单,有较好的基本逻辑能力即可胜任,整个代码易调整,验证效果立马显示,整体工作要求仔细认真。

JAVA:要求有全局的掌控能力较高,缜密的思维,足够的耐心,因为JAVA前期代码都是一些构建基础功能铺垫。

发展前景:

未来的职业发展,已经没有明显的边界了,都是向全栈发展

但是能力的高低依旧很重要,企业对于高级开发工程师的需求却是远远没有实现满足的。

言吾时刻


WEB前端与JAVA的区别

WEB前端,对应的职位是HTML5开发工程师、WEB前端开发工程师。这种职位主要的工作内容,是将设计师制作好的PSD图制作成网页,网站当中的结构、样式、行为都是由WEB前端开发工程师完成的。

JAVA是后台语言的一种,和PHP、Python属于同类型语言。它们要做的是数据库的搭建以及将数据放置到前端制作好的网页当中。

WEB前端与JAVA的工作特点

WEB前端:具有一定的可视性,在书写一些代码后能够立即查看到相应的效果,在JavaScript方面对逻辑方面有一定的要求,一定的逻辑能力加上对细节的一丝不苟,才能够完成相应的工作内容。

JAVA:逻辑能力方面要求较高,书写的后台代码以及数据库操作,无法实时展示,较抽象,无法所做即所得、随时查看效果。

WEB前端与JAVA学习的适用人群

适用人群是基于两种技术特点而定

WEB前端:学习者逻辑能力一般,喜欢处理样式、制作网页特效,希望即时性的看到代码效果

JAVA:学习者逻辑能力很强,注重非可视性内容的优化,如网页加载速度、用户交互的时长等

WEB前端与JAVA的薪资发展

初期入行来说,WEB前端的入行门槛要稍低于JAVA语言,根据行业特点,入行薪资也会稍有变化,后期薪资两者水平基本一致,甚至JAVA薪资水平要稍高于前端。

职业特点发展

未来职业发展过程当中,无论是从事WEB前端还是JAVA,都会向“全端”方向发展

前端走向“熟练掌握前端开发,又对后台语言有所了解”

后台走向“熟练掌握后台语言开发,并掌握基本的前端开发知识”。


数字海洋


坦白讲,以现在的市场行情分析,前端的薪资整体上接近于Java,但选择前端的主要原因是加班少,工作量更具体一些;那么Java的话无论有无新需求或新业务工作量始终能满足饱和的常态。还有就是如果企业是按照项目制分发奖金的层面去做,那么前端攻城狮可在不同大小Team之间自由穿梭,同事能获得多分奖金,反观作为Java工程师,一个逻辑要不断写不断测试,上层对接前端页面,下层对接数据库等复杂数据及业务层,还要做些数据搜集,数据分析,甚至到大数据,深度学习等方面的工作,比较费脑子。


但不管选择哪端,选择自己最合适的才是重要的~

迪厅加油站


大家好,非常荣幸可以有这个机会解答这个问题,现在让我们一起探讨一下吧。

  这是不同的人看到的。它们都是开发帖子,但是它们面向不同的对象。前端对应于网页。这就是我们打开网站时看到的,包括网页的结构和布局。Java语言对应于我们看不到的背景,它负责数据的存储和读取。您在网页中填写的数据将存储在后台数据库中。要显示在网页上的数据是从后台数据库中读出的。

  前端和JAVA(后端)功能:

  前端:与JAVA相比相对简单,可以胜任,具有良好的基本逻辑能力,整个代码易于调整,验证效果立即显现,整体工作需要认真对待。

  JAVA:需要高度的整体控制、仔细的思考和足够的耐心,因为JAVA的早期代码是构建一些基本功能的基础。

  发展前景:

  未来的职业发展没有明显的界限,所有这些都是为了全面发展。

  然而,能力水平仍然非常重要,企业对高级开发工程师的需求远未得到满足。

以上这些就是我对于这个问题的一些个人看法和见解,分享给大家,希望大家能开开心心的做头条,头条作品能更进一步,最后希望大家能够喜欢我的回答,谢谢大家,祝大家每天工作开开心心,生活快快乐乐,健康生活每一天,家和万事兴,年年发大财,生意兴隆,谢谢!


分享到:


相關文章: