自学java项目实践的时候前端java工作描述怎么写写比较好

本帖子已过去太久远了,不再提供回复功能。3,933被浏览511,798分享邀请回答ASP.NET,JSP、Python)等语言,前端开发工程师也需要掌握。前端开发的入门门槛其实很低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。HTML 甚至不是一门语言,他仅仅是简单的标记语言!CSS 只是无类型的样式修饰语言。当然可以勉强算作弱类型语言。Javascript 的基础部分相对来说不难,入手还算快。也正因为如此,前端开发领域有很多自学成“才”的同行,但大多数人都停留在会用的阶段,因为后面的学习曲线越来越陡峭,每前进一步都很难。Web前端技术有一些江湖气,知识点过于琐碎,技术价值观的博弈也难分伯仲,即全局的系统的知识结构并未成体系,这些因素也客观上影响了“正统“前端技术的沉淀!而且各种“奇技淫巧”被滥用,前端技术知识的传承也过于泛泛,新人难看清时局把握主次。因此,前端技术领域,为自己觅得一个靠谱的师兄,重要性要盖过项目、团队、公司、甚至薪水。另一方面,正如前面所说,前端开发是个非常新的职业,对一些规范和最佳实践的研究都处于探索阶段。总有新的灵感和技术不时闪现出来,例如CSS sprite、负边距布局、栅格布局等;各种JavaScript框架层出不穷,为整个前端开发领域注入了巨大的活力;浏览器大战也越来越白热化,跨浏览器兼容方案依然是五花八门。为了满足“高可维护性”的需要,需要更深入、更系统地去掌握前端知识,这样才可能创建一个好的前端架构,保证代码的质量。随着手持设备的迅猛发展,带动了 HTML5行业标准的快速发展。web领域的技术,大概有10年都没有大的更新了!现在市场很需要优秀的、高级的前端工程师。一方面是因为这是一个比较新的细分行业,而且前端程序员大都自学一部分,知识结构不系统;另一方面,大学里面没有这种课程,最最重要的是:北大青鸟这类培训机构也没有专门的前端工程师的培训课程!!吴亮在《JavaScript 王者归来》第一张的序里面说:大多数程序员认为 Javascript 过于简陋,只适合一些网页上面花哨的表现,所以不愿花费精力去学习,或者以为不学习就能掌握。实际上,一门语言是否脚本语言,往往是她的设计目标决定,简单与复杂并不是区分脚本语言和非脚本语言的标准。事实上,在脚本语言里面,Javascript 属于相当复杂的一门语言,他的复杂度即使放在非脚本语言中来衡量,也是一门相当复杂的语言!Javascript 的复杂度不逊色于 Perl 和 Python!如何学习前端知识? 我们生活在一个充满规则的宇宙里面。社会秩序按照规则运行,计算机语言几乎全部是规则的集合。计算机前辈们定义规则,规则约束我们,我们用规则控制数据。大部分时候,对数据的合理控制,来自于你对规则的掌握。学习 HTML,CSS 应该先跟着书仔细、扎实的学一遍。然后就需要做大量的练习,做各种常规的、奇怪的、大量的布局练习来捆固、理解自己的知识。而学习 Javascript 首先要知道这门语言可以做什么,不能做什么,擅长做什么,不擅长做什么!如果你只想当一个普通的前端程序员,你只需要记住大部分 Javascript 函数,做一些练习就可以了。如果你想当深入了解Javascript,你需要了解 Javascript 的原理,机制。需要知道他们的本源,需要深刻了解 Javascript 基于对象的本质。还需要 深刻了解 浏览器宿主 下 的 Javascript 的行为、特性。因为历史原因,Javascript一直不被重视,有点像被收养的一般! 所以他有很多缺点,各个宿主环境下的行为不统一、内存溢出问题、执行效率低下等问题。作为一个优秀的前端工程师还需要深入了解、以及学会处理 Javascript 的这些缺陷。那么一名优秀的、甚至卓越的 前端开发工程师的具备什么条件?首先,优秀的Web前端开发工程师要在知识体系上既要有广度和深度!做到这两点,其实很难。所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。技术非黑即白,只有对和错,而技巧则见仁见智。在以前,会一点Photoshop和Dreamweaver的操作,就可以制作网页。现在,只掌握这些已经远远不够了。无论是开发难度上,还是开发方式上,现在的网页制作都更接近传统的网站后台开发,所以现在不再叫网页制作,而是叫Web前端开发。Web前端开发在产品开发环节中的作用变得越来越重要,而且需要专业的前端工程师才能做好。Web前端开发是一项很特殊的工作,涵盖的知识面非常广,既有具体的技术,又有抽象的理念。简单地说,它的主要职能就是把网站的界面更好地呈现给用户。其次,优秀的Web前端开发工程师应该具备快速学习能力。Web发展的很快,甚至可以说这些技术几乎每天都在变化!如果没有快速学习能力,就跟不上Web发展的步伐。前端工程师必须不断提升自己,不断学习新技术、新模式;仅仅依靠今天的知识无法适应未来。Web的明天与今天必将有天壤之别,而前端工程师的工作就是要搞清楚如何通过自己的Web应用程序来体现这种翻天覆地的变化。说到这里,我想起了一个大师说过的一句话:对于新手来说,新技术就是新技术。对于一个高手来说,新技术不过是就技术的延伸。再者,优秀的前端工程师需要具备良好的沟通能力,因为前端工程师至少都要满足四类客户的需求。1、产品经理。这些是负责策划应用程序的一群人。他们会想出很多新鲜的、奇怪的、甚至是不可是实现的应用。一般来说,产品经理都追求丰富的功能。2、UI设计师。这些人负责应用程序的视觉设计和交互模拟。他们关心的是用户对什么敏感、交互的一贯性以及整体的好用性。一般来说,UI设计师于流畅靓丽、但并不容易实现的用户界面,而且他们经常不满前端工程师造成 1px 的误差。3、项目经理。这些人负责实际地运行和维护应用程序。项目管理的主要关注点,无外乎正常运行时间、应用程序始终正常可用的时间、性能和截止日期。项目经理追求的目标往往是尽量保持事情的简单化,以及不在升级更新时引入新问题。4、最终用户。指的是应用程序的主要消费者。尽管前端工程师不会经常与最终用户打交道,但他们的反馈意见至关重要。最终用户要求最多的就是对个人有用的功能,以及竞争性产品所具备的功能。Yahoo 公司 ,YUI 的开发工程师 Nicholas C. Zakas 认为:前端工程师是计算机科学职业领域中最复杂的一个工种。绝大多数传统的编程思想已经不适用了,为了在多种平台中使用,多种技术都借鉴了大量软科学的知识和理念。成为优秀前端工程师所要具备的专业技术,涉及到广阔而复杂的领域,这些领域又会因为你最终必须服务的各方的介入而变得更加复杂。专业技术可能会引领你进入成为前端工程师的大门,但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力,才会真正让你变得优秀。————————————关于书籍:HTML、CSS 类别书籍,都是大同小异,在当当网、卓越网搜索一下很多推荐。如果感觉学的差不多了,可以关注一下《CSS禅意花园》,这个很有影响力。Javascript 的书籍 推荐看老外写的,国内很多 Javascript 书籍的作者对 Javascript 语言了解的都不是很透彻。这里推荐几本 Javascript 书籍:初级读物:《JavaScript高级程序设计》:一本非常完整的经典入门书籍,被誉为JavaScript圣经之一,详解的非常详细,最新版第三版已经发布了,建议购买。《JavaScript王者归来》百度的一个Web开发项目经理写的,作为初学者准备的入门级教程也不错。中级读物:《JavaScript权威指南》:另外一本JavaScript圣经,讲解的也非常详细,属于中级读物,建议购买。《JavaScript.The.Good.Parts》:Yahoo大牛,JavaScript精神领袖Douglas Crockford的大作,虽然才100多页,但是字字珠玑啊!强烈建议阅读。《高性能JavaScript》:《JavaScript高级程序设计》作者Nicholas C. Zakas的又一大作。《Eloquent JavaScript》:这本书才200多页,非常短小,通过几个非常经典的例子(艾米丽姨妈的猫、悲惨的隐士、模拟生态圈、推箱子游戏等等)来介绍JavaScript方方面面的知识和应用方法。高级读物:《JavaScript Patterns 》:书中介绍到了各种经典的模式,如构造函数、单例、工厂等等,值得学习。《Pro.JavaScript.Design.Patterns》:Apress出版社讲解JavaScript设计模式的书,非常不错。《Developing JavaScript Web Applications》:构建富应用的好书,针对MVC模式有较为深入的讲解,同时也对一些流程的库进行了讲解。《Developing Large Web Applications》:不仅有JavaScript方面的介绍,还有CSS、HTML方面的介绍,但是介绍的内容却都非常不错,真正考虑到了一个大型的Web程序下,如何进行JavaScript架构设计,值得一读。要做优秀的前端工程师,还需要继续努力:《高性能网站建设指南》、《Yahoo工程师的网站性能优化的建议》、“YSLOW”性能优化建议、《网站重构》、《Web开发敏捷之道》、“ jQuery 库”、“前端框架”、“HTML5”、“CSS3”。。。 这些都要深入研究!万事开头难!如果你能到这个境界,剩下的路自己就可以走下去了。人们常说:不想当裁缝的司机,不是个好厨师。如果单纯只是学习前端编程语言、而不懂后端编程语言(PHP、,JSP、Python),也不能算作是优秀的前端工程师。在成为一个优秀的前端工程师的道路上,充满了汗水和辛劳。60618 条评论分享收藏感谢收起douban.com/note/512945304/,欢迎建议====================================0基础怎样开始学习做网站?目标读者:完全0基础的人,Rails Girls,想了解技术的同学,产品新人大多数教学, 都太有条理了。先讲概念,
HTML是什么,CSS是什么,HTTP请求是什么....但是一次性听到这么多陌生的概念,很容易晕的。过于抽象了,所以试着写一篇以例子为导向,而不是以概念为导向的介绍,来帮助大家入门Ruby on RailsRuby on Rails是做什么的?做网站的,你知道什么是网站(淘宝,知乎..),Rails能做这些,就行了1. 网站-&网页-&按钮我们要做的是什么?是网站,那么就直接以知乎为例好了这样一个网站,是怎么和“代码”,Rails联系起来的呢?这个太复杂了,我们不如只看他的首页(上图)就拿这个页面来说,他是有3部分构成的,HTML,CSS,JS。不过这样说,依然没有什么用我们只拿出其中的一个按钮,来解释这个概念我应该怎么来写代码,来实现这个按钮?这个时候,就要用到HTML了,代码如此:& button class="sign-button submit" type="submit"&注册知乎&/button&写好以后,生成的就是按钮了(如图)"靠,可是这也差得太远了吧?这两个怎么能是一个东西呢!!",你可能会想但是他的功能,是不是都是一样的呢?(就是点击)这个时候,就用到CSS了。(不要在意代码具体什么意思,知道这是CSS就行了)(至于JS,可以以后再说)上
面想说的就是,我们看到的网页,都是用HTML,CSS,JS写的:HTML来说明这个内容是什么,CSS来让这个内容变好看(How it
looks)。这里说的是按钮,其实,网页上的所有这些文字,标题等等都是这样,都是HTML+CSS+JS写的,如下图的头像,链接等等再举个例子,上面的指向某个问题的链接纯粹的HTML,以及加上CSS来改变他的样子之后小结一下,上面介绍了什么是HTML,CSS,(JS)[如果有任何问题,可以直接提问]2. 难道要重复写很多遍吗?再看知乎里面的“发现”页面,一条一条的“回答”这些“回答“的结构,都是相似的。那是不是,我们的代码就要这样一条一条的写下去呢...?显然,这太麻烦了,所以要用到循环,也就是用编程语言(e.g. Ruby)来做 (e.g for loop )或者,想根据用户登录/未登录的状态,来调整页面的内容这里,知乎对于未登录的用户,会有登录的按钮;登录的用户,则显示消息,头像等等。这就用到了编程的东西(if else判断)[if else, for loop,这些应该还能理解吧?]3. 怎么实现注册功能?上面,我们讲到了看到的网站是如何由代码构成的不过,写到这里,你可能还在想,这不拖拖拽拽就行了吗?e.g. Dreamwaver, front page等软件确实如此。不过,我们怎么实现“用户注册”的功能呢?这个时候,就不仅仅是”循环“、”判断“了。显然,这时候,要涉及到更多更为复杂的逻辑。这个时候,就要用到Rails了,我们要用他来实现——注册、登录的功能,发帖的功能,提问的功能,点赞的功能等等等。所以,Rails(PHP, Python等等)就是用来实现这些“功能的”。这里不再举例子了,因为太复杂,只提几个问题,让大家思考一下,拿论坛发帖子来说:我们怎么实现“创建”一个帖子的功能?又怎么“修改”,怎么“删除”?这下,应该能感到这些功能的复杂了。不过,现在依然不用深究,只要知道Rails是用来处理这些复杂逻辑的东西,就行了(此外,我们有这么多用户的数据,帖子的数据,点赞的数据,就又牵扯到数据库了)。4.
小结到这里,我们主要介绍了:(1) 什么是HTML + CSS +JS (显示网页)(2) 什么是Ruby on Rails (复杂的逻辑功能)前面的,就是我们所说的前端,后者,就是常称的后端如果你下次还有疑问的话,不妨顺着这个思路理一理:(1) “网页是由什么构成的?”(2) “怎么实现注册的过程?”(3) “网站上有这么多数据,怎么保存?”“可是我想要设计一个很漂亮的网站诶.....”,那个是设计师做的对于一个网页来说,设计师决定这个按钮的颜色,阴影,怎样才好看而前端工程师(HTML CSS JS),来负责用代码实现这些东西(写具体的代码)比如设计师说,希望这个按钮是蓝色的,那么工程师就根据这个要求写具体的代码:button {color:blue}
对于小的创业团队来说,可能最开始就直接写代码做完了,不会有专职的设计师5. 那么,我接下来该怎么学习Rails呢?好了,写到这里,应该基本了解什么是Rails了(其实主要介绍的是前端),接下来的问题可能就是:那我应该怎么学会Rails,来自己做网站呢?不过我先写这么多了,如果有足够的人需要的话,再继续写吧注:原标题为Rails in Plain Language,即用浅显的语言,告诉准备学习Rails的同学们,Rails到底是什么。不过本文实际上并没有谈到Rails是什么,更多的写的是前端。因为大多数0基础的同学,并不理解这些,所以先了解一下,我觉得会有帮助。37554 条评论分享收藏感谢收起共被编辑 3 次
问题一:目前web前端开发实习,需要学习后端语言吗?前端学习也是需要学习 HTTP 协议等后端内容的,但是要求没有那么高,只需要懂得后端是如何和浏览器交互,后端的是如何运行的就行了。
问题二:学习那种语言比较好?Java、PHP、C# 都是有着很好的生态环境的语言,从学习后端来讲,三者没有太大的区别。但是 .Net 平台目前来说不是一个很好的跨平台开发的平台。PHP 相对于 Java 来说,草根的历史包袱过重、混乱的函数库、动态的解释语言,都是它的缺点,入手如果没学好很容易养成开发的坏习惯,目前市面上现有的教材都不是那种很正规化的后端开发,依然停留在 PHP4 甚至 PHP5 的年代里。当然,规范的 PHP 框架很多,比如 Laravel 可以认为是 PHP 框架中的一个典型。它通过一系列的设计模式将 PHP 完全做了翻天覆地的变化,以至于你都认不出这是 PHP 了。Java 的 SSH(Spring + Spring MVC + Hibernates) 框架很经典,可以认为是核心控制器单入口的典范。但是 SSH 框架学习起来成本很高,非常吃力,首先你先得懂得 Servlet & JSP 这种典型的 Java EE Web 流程。然后才能明白 Spring MVC 或者 Struts 是如何构筑在这么简单的标准上的。而且至少还得懂得 Web 服务器处理的流程。
不过就目前来说,各类语言的框架都是在靠拢和相互学习,仔仔细细学会一门框架,学会了它的流程思想,其他语言的框架基本也都是那样。当然,我说的是同一类思想的那种框架,就比如 Ruby on Rails、Laravel 和 Spring MVC。至于 Node.js、Golang 这种以常驻内存,独立处理请求为特点的后端开发来说则是另一种了。Node.js 对于新手学习 Web 服务器处理非常棒,因为 PHP、Java 都将 HTTP 的底层做了很好的封装,取得参数之类的操作都只需要调用一条命令就能完成。新手学习很容易摸不着头脑。而 Node.js 则能让你对 Web 服务器的处理过程了解更多。而且 Node.js 目前来说依旧处于一个很蓬勃发展的时期,想要从零开始写一个框架没有 PHP、Java 那么困难。当从头写过一个框架后基本就了解后端开发的流程了。(我指的是像 Express 这样的框架,同时,强烈推荐朴灵老师的《深入浅出 Node.js》,但是绝对不推荐新手去读,这是深入浅出,不是由浅到深)。
虽然 Node.js 很好用并且开发快速,但是绝对不推荐写业务服务,这是因为 JavaScript 语言本身很“残”的问题,ES5 面向对象开发非常困难,优雅的处理回调需要依赖第三方库,ES6 做出了很大的改进,但是依旧有着历史的包袱。而 ES7 只能算是草案。甚至想要很好的使用 ES6 都依旧需要依靠 Babel 这种“编译”工具。尚未统一的模块导入规范。这些都是 Node.js 不能大规模使用的制约。就语言方面来说,JavaScript & PHP & Java。至于性能方面,PHP、Node.js、Java 这些都不需要担心性能的问题,他们的性能完全不会是瓶颈。Node.js 由于采用了 V8 引擎,将其编译为中间码,性能甚至还是超越 PHP 的,但是 PHP 在 PHP7 的平台下性能也是完全足够的。
讲了这么多,如何取舍,就看题主自己的想法了。不过这里提一句,我熟悉javase技术和javaee的基础,大学学过完全不能拿来当权衡的筹码。因为大学学的顶多就是 Java SE,而 Java EE 在没有真正使用 SSH 开发之前,学了也是没多大用的
问题一:目前web前端开发实习,需要学习后端语言吗?前端学习也是需要学习 HTTP 协议等后端内容的,但是要求没有那么高,只需要懂得后端是如何和浏览器交互,后端的是如何运行的就行了。
问题二:学习那种语言比较好?Java、PHP、C# 都是有着很好的生态环境的语言,从学习后端来讲,三者没有太大的区别。但是 .Net 平台目前来说不是一个很好的跨平台开发的平台。PHP 相对于 Java 来说,草根的历史包袱过重、混乱的函数库、动态的解释语言,都是它的缺点,入手如果没学好很容易养成开发的坏习惯,目前市面上现有的教材都不是那种很正规化的后端开发,依然停留在 PHP4 甚至 PHP5 的年代里。当然,规范的 PHP 框架很多,比如 Laravel 可以认为是 PHP 框架中的一个典型。它通过一系列的设计模式将 PHP 完全做了翻天覆地的变化,以至于你都认不出这是 PHP 了。Java 的 SSH(Spring + Spring MVC + Hibernates) 框架很经典,可以认为是核心控制器单入口的典范。但是 SSH 框架学习起来成本很高,非常吃力,首先你先得懂得 Servlet & JSP 这种典型的 Java EE 模式。然后才能明白 Spring MVC 或者 Struts 是如何构筑在这么简单的标准上的。而且至少还得懂得 Web 服务器处理的流程。
不过就目前来说,各类语言的框架都是在靠拢和相互学习,仔仔细细学会一门框架,学会了它的流程思想,其他语言的框架基本也都是那样。当然,我说的是同一类思想的那种框架,就比如 Ruby on Rails、Laravel 和 Spring MVC。至于 Node.js、Golang 这种以常驻内存,独立处理请求为特点的后端开发来说则是另一种了。Node.js 对于新手学习 Web 服务器处理非常棒,因为 PHP、Java 都将 HTTP 的底层做了很好的封装,取得参数之类的操作都只需要调用一条命令就能完成。新手学习很容易摸不着头脑。而 Node.js 则能让你对 Web 服务器的处理过程了解更多。而且 Node.js 目前来说依旧处于一个很蓬勃发展的时期,想要从零开始写一个框架没有 PHP、Java 那么困难。当从头写过一个框架后基本就了解后端开发的流程了。(我指的是像 Express 这样的框架,同时,强烈推荐朴灵老师的《深入浅出 Node.js》,但是绝对不推荐新手去读,这是深入浅出,不是由浅到深)。
虽然 Node.js 很好用并且开发快速,但是绝对不推荐写业务服务,这是因为 JavaScript 语言本身很“残”的问题,ES5 面向对象开发非常困难,优雅的处理回调需要依赖第三方库,ES6 做出了很大的改进,但是依旧有着历史的包袱。而 ES7 只能算是草案。甚至想要很好的使用 ES6 都依旧需要依靠 Babel 这种“编译”工具。尚未统一的模块导入规范。这些都是 Node.js 不能大规模使用的制约。就语言方面来说,JavaScript & PHP & Java。至于性能方面,PHP、Node.js、Java 这些都不需要担心性能的问题,他们的性能完全不会是瓶颈。Node.js 由于采用了 V8 引擎,将其编译为中间码,性能甚至还是超越 PHP 的,但是 PHP 在 PHP7 的平台下性能也是完全足够的。
讲了这么多,如何取舍,就看题主自己的想法了。不过这里提一句,我熟悉javase技术和javaee的基础,大学学过完全不能拿来当权衡的筹码。因为大学学的顶多就是 Java SE,而 Java EE 在没有真正使用 SSH 开发之前,学了也是没多大用的
问题一:目前web前端开发实习,需要学习后端语言吗?前端学习也是需要学习 HTTP 协议等后端内容的,但是要求没有那么高,只需要懂得后端是如何和浏览器交互,后端的是如何运行的就行了。
问题二:学习那种语言比较好?Java、PHP、C# 都是有着很好的生态环境的语言,从学习后端来讲,三者没有太大的区别。但是 .Net 平台目前来说不是一个很好的跨平台开发的平台。PHP 相对于 Java 来说,草根的历史包袱过重、混乱的函数库、动态的解释语言,都是它的缺点,入手如果没学好很容易养成开发的坏习惯,目前市面上现有的教材都不是那种很正规化的后端开发,依然停留在 PHP4 甚至 PHP5 的年代里。当然,规范的 PHP 框架很多,比如 Laravel 可以认为是 PHP 框架中的一个典型。它通过一系列的设计模式将 PHP 完全做了翻天覆地的变化,以至于你都认不出这是 PHP 了。Java 的 SSH(Spring + Spring MVC + Hibernates) 框架很经典,可以认为是核心控制器单入口的典范。但是 SSH 框架学习起来成本很高,非常吃力,首先你先得懂得 Servlet & JSP 这种典型的 Java EE 模式。然后才能明白 Spring MVC 或者 Struts 是如何构筑在这么简单的标准上的。而且至少还得懂得 Web 服务器处理的流程。
不过就目前来说,各类语言的框架都是在靠拢和相互学习,仔仔细细学会一门框架,学会了它的流程思想,其他语言的框架基本也都是那样。当然,我说的是同一类思想的那种框架,就比如 Ruby on Rails、Laravel 和 Spring MVC。至于 Node.js、Golang 这种以常驻内存,独立处理请求为特点的后端开发来说则是另一种了。Node.js 对于新手学习 Web 服务器处理非常棒,因为 PHP、Java 都将 HTTP 的底层做了很好的封装,取得参数之类的操作都只需要调用一条命令就能完成。新手学习很容易摸不着头脑。而 Node.js 则能让你对 Web 服务器的处理过程了解更多。而且 Node.js 目前来说依旧处于一个很蓬勃发展的时期,想要从零开始写一个框架没有 PHP、Java 那么困难。当从头写过一个框架后基本就了解后端开发的流程了。(我指的是像 Express 这样的框架,同时,强烈推荐朴灵老师的《深入浅出 Node.js》,但是绝对不推荐新手去读,这是深入浅出,不是由浅到深)。
虽然 Node.js 很好用并且开发快速,但是绝对不推荐写业务服务,这是因为 JavaScript 语言本身很“残”的问题,ES5 面向对象开发非常困难,优雅的处理回调需要依赖第三方库,ES6 做出了很大的改进,但是依旧有着历史的包袱。而 ES7 只能算是草案。甚至想要很好的使用 ES6 都依旧需要依靠 Babel 这种“编译”工具。尚未统一的模块导入规范。这些都是 Node.js 不能大规模使用的制约。就语言方面来说,JavaScript & PHP & Java。至于性能方面,PHP、Node.js、Java 这些都不需要担心性能的问题,他们的性能完全不会是瓶颈。Node.js 由于采用了 V8 引擎,将其编译为中间码,性能甚至还是超越 PHP 的,但是 PHP 在 PHP7 的平台下性能也是完全足够的。
讲了这么多,如何取舍,就看题主自己的想法了。不过这里提一句,我熟悉javase技术和javaee的基础,大学学过完全不能拿来当权衡的筹码。因为大学学的顶多就是 Java SE,而 Java EE 在没有真正使用 SSH 开发之前,学了也是没多大用的
我要该,理由是:还在为学java还是web前端而纠结吗?看看我怎么说
我的图书馆
还在为学java还是web前端而纠结吗?看看我怎么说
最近总是有人会问我类似于这样的问题。我是一个大一大二的学生,以后想从事编码的工作,我是该学习java还是web前端啊?或者是我非计算机科班出身,想从事程序员的工作,是该学习java还是web前端啊?Java PK Web前端对于这样的问题我该怎么回答呢,我只想说听天由命吧,抓阄抓到哪个学哪个。哈哈,当然这只是开玩笑的,对于我们未来的方向选择必须要慎重,在我讲解自己的看法之前,我们先来看下一个程序员界的段子。C程序员看不起C++程序员,C++程序员看不起Java程序员,Java程序员看不起C#程序员,C#程序员看不起美工,周末了,美工带着妹子出去约会了...剩这群程序员在加班。没想到,最后美工成了人生赢家,这样一来大家是不是都想说我还是去做美工吧。如果真是这样,那就too young too simple啦,周末美工约到妹子高兴了,程序员哭了,而等到发工资的时候就该美工哭了,程序员笑了,结果还是程序员笑到了最后。这里可能就有很多人要说了,都说PHP是世界上最好的语言,你为什么都不提一下PHP呢?关于这个问题,我只想说,没有最好的语言,只有最适合的语言,当然如果你有什么想说的欢迎在评论区讨论。切回正题,该如何选择Java或者Web前端呢?下面分几点述说看兴趣,看兴趣,看兴趣无论做什么开发,永远要以兴趣来驱动自己学习。先大致的说一下,Java学习是一个需要耗费长周期的过程,考验一个人的逻辑能力,如果你现在还在学校,时间比较充裕,建议从学习Java开始。相比较而言,Web前端门槛较低,入门稍快,可以在短时间内看到收益,但是由于前端变化特别快,需要永远保持积极学习的态度,如果你急需找工作,没太多时间,可以选择Web前端开发。不管你选择哪个方向,到最后都会有一个好的发展。学习路线从上面这张图片可以看出,不管是哪个方向,需要学习的东西都很多,那么我们该如何确定自己的学习路线呢?Java学习路线(1)首先你必须得学习JavaSE,JavaSE是你做java web开发的基础,不管书籍还是网上视频,在讲解JavaSE的时候都会讲解的很透彻,可以跟着进度一点点的学下去。不过如果遇到swing,jFrame,AWT的章节可以直接跳过,现在已经用的特别少了,而且不影响后续学习。在这里小编推荐几本书,《Thingking in Java》、《Java核心技术》、《Java从入门到精通》,书籍不需要太多,能看完一本并跟着教程多敲demo就足够了。不过我还是推荐看视频学习,看视频会让你的大脑更加集中。JavaSE部分的内容在笔试面试的时候特别容易会遇到,而且都是涉及jdk源码级别的,需要了解底层数据结构设计,像ArrayList和LinkedList,HashTable和HashMap等经典的问题。不过如果只是作为初学者可不必要注意这些,按照书籍或者视频的节奏来就可以。(2)XML学习,在使用的很多框架中都是通过XML文件进行配置的,这个也必须掌握。(3)JavaEE部分,JavaEE的生态特别庞大,我们无法学习完所有的知识点,我就按照重要程度来说明学习的先后顺序。首先是Servlet,这是必须要学的,像Struts2和SpringMVC都是基于Servlet的封装,推荐书籍《深入体验Java Web开发内幕-核心基础》和《深入体验Java Web开发内幕-核心基础》。然后是JSP部分,因为目前基于纯HTML的开发已经越来越多,所以JSP部分可以不必深究。(4)Spring和SpringMVC,Spring作为目前Web项目必须集成的框架也是一定要掌握的,推荐书籍《spring实战》。有人经常拿Struts2MVC和SpringMVC来作比较,但由于Struts2存在的漏洞( 前段时间爆出的京东数据泄露事件就是因为Struts2漏洞造成的),让很多公司都放弃使用Struts2,转而使用SpringMVC。(5)数据库相关知识,首先要懂得数据库相关理论,推荐书籍《数据库系统概念》了解重点概念,然后就主要是SQL语句的学习了,可以在w3school上按照教程学习,具体能掌握一到两种数据库就行(6)数据库连接JDBC,原生的JDBC语句要会编写(7)持久化层MyBatis或者Hibernate,两者在使用方式上稍有差别,Hibernate更加面向对象化一些,而MyBatis在处理起SQL时更加灵活,目前好像MyBatis更加火热一点。(8)Ajax,目前Ajax技术运用越来越广泛,Ajax技术也是一定要掌握的(9)Maven,作为java中十分有用的包管理工具,学习它是十分有必要的(10)版本控制工具SVN或者GIT,个人推荐使用GIT前端学习路线如果你选择了前端,首先欢迎你入坑O(∩_∩)O,你将会在一片汪洋大海里越陷越深(1)前端最先让我们想到的就是页面了,那么最基本的HTML+CSS是一定要学习的,推荐学习书籍《CSS权威指南》(2)页面上还包括DOM处理与一些数据逻辑,所以JavaScript也是一定要学习的,推荐书籍《Javascript权威指南》,进阶书籍《Javascript高级程序设计》(3)当我们学习完基本的页面知识后,便可以使用类库来简化我们的代码,提高效率。CSS方面可以进阶到Less或者Sass;如果是针对DOM处理,javascript方向可进阶到jQuery,推荐书籍《jQuery 实战》、《锋利的jQuery》(4)当我们真正会了以上一些内容后才能说自己前端入门了,而且好戏才刚刚开始,ES6作为未来各种前端框架支持的主语言是一定要会的。前端再细化的话会分为PC端和移动端,如果重点在PC端,应该学习AngularJS,推荐书籍《AngularJS权威指南》,不过由于AngularJS的版本更新速度很快,尤其是1.0到2.0版本的升级,简直是面目全非,相当于要重新学习一遍。AngularJS2.0版本是用的Typescript语言编写的,这就要去学习Typescript,而Typescript又是基于ES6的,这些内容都可以根据官方文档进行学习。(5)如果重点是在移动端,则可以学习Vue.js和React Native,Vue.js是由国内尤大神写的,是一个前端轻便的MVVM框架,而且目前Vue生态也已经渐渐丰富了起来。React Native用于移动端十分便利,可以参考官方文档进行学习,不过它存在的虚拟DOM概念需要我们去理解,而且所有代码都是Javascipt对象的编码方式也有一定特殊性,需要多加练习才能慢慢理解。(6)不管是哪种框架,在编码后都需要代码编译,压缩,打包等操作,这个时候构建工具就出现了。目前的构建工具层出不穷,大概有十几种,我们无法学完全部的构建工具,但是可以选择其中比较重要的进行学习,典型的就是gulp+webpack了。(7)当我们学完以上一些东西后,总想着朝全栈的方向走去,这个时候就体现出NodeJS的意义了。NodeJS基于javascript编写,却能够处理服务器端逻辑,实则为一大突破,推荐书籍《NodeJS开发 指南》、《NodeJS深入浅出》。NodeJS作为服务器端开发语言,可以学习Express框架和KOA框架,顺便比较一下与传统的服务端Java语言处理起来有什么不同。(8)版本控制工具GIT总结还是那句话,不管选择哪个方向学习,都要是自己最感兴趣的。而且不管是哪个方向都需要通过不断的练习来积累经验,请记住“一万小时定律”。学习Java就需要时间来沉淀,目前Java生态已经这么庞大且稳定,我们只需要慢慢地深入就会有成果。学习前端就要抱着大浪淘沙的心态,由于前端发展极为迅速,可能自己学习的东西没过多久就已经过时了,但是也要抱着平和的心态去面对,并积极学习更加新颖的知识,如果喜欢的话,记得关注小编噢,小编后续会坚持出更多技术性的文章,如果有任何问题,也欢迎提问,小编都会尽力解答的。本文为头条号作者发布,不代表今日头条立场。
TA的最新馆藏[转]&
喜欢该文的人也喜欢}

我要回帖

更多关于 自学java怎么写简历 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信