前端和Java这两个方向,女生都可以学习,主要看你自己对哪方面更感兴趣。Web前端灵活多变,能够直观看到成果,所以成就感更容易体现,学习起来也会相对轻松。Java被称为最稳定的语言,应用最为广泛,无论是一线城市还是二三线城市的岗位需求都比较大,容易找到工作,但入行门槛相对更难。
你也可从以下三个方面来作为参考:
工作方向:
Java开发Java作为编程语言中最热门的技术,可谓无处不在。
无论是生活软件、游戏还是电脑软件,从你的每一次购物到每一笔支付的成功,都离不开Java,越来越多的企业也正采用Java语言开发网站,而在所有程序员中,Java开发工程师就占据了30%的比例。Java语言具有面向对象、跨平台、安全性、多线程等特点,这使得Java成为许多应用系统的理想开发语言。
学完Java可以:
1.编写网站。Java可以用来编写网站,现在很多大型网站都用JSP写的,JSP全名Java Server Pages它是一种动态网页技术,比如我们熟悉的163,一些政府网站都是采用JSP编写的。所以学习Java的同学可以找开发网站方面的工作,而且现在找这方面的岗位比较多。比如:网站开发大多使用JSP、Servlet、JavaBean这些技术。
2.做Android。Android是一种基于Linux的自由及开放源代码的操作系统,其源代码是Java。所以市场上见到的手机系统例如MIUI ,阿里云,乐蛙等,都是修改源代码再发行的。Java做安卓不单单是指系统,还有APP,对于更多的开发人员来说,他们更多的时间是花在开发APP上面。
在这里先给大家剖析一下Java和Web前端的学习路线
1.前端学习路线
前端最先让我们想到的就是页面了,那么最基本的HTML+CSS是一定要学习的。页面上还包括DOM处理与一些数据逻辑,所以JavaScript也是一定要学习的。
当我们学习完基本的页面知识后,便可以使用类库来简化我们的代码,提高效率。CSS方面可以进阶到Less或者Sass;如果是针对DOM处理,javascript方向可进阶到jQuery。
当我们真正会了以上一些内容后才能说自己前端入门了,而且好戏才刚刚开始,ES6作为未来各种前端框架支持的主语言是一定要会的。前端再细化的话会分为PC端和移动端,如果重点在PC端,应该学习AngularJS,不过由于AngularJS的版本更新速度很快,尤其是1.0到2.0版本的升级,简直是面目全非,相当于要重新学习一遍。AngularJS2.0版本是用的Typescript语言编写的,这就要去学习Typescript,而Typescript又是基于ES6的,这些内容都可以根据官方文档进行学习。
如果重点是在移动端,则可以学习Vue.js和React Native,Vue.js是由国内尤大神写的,是一个前端轻便的MVVM框架,而且目前Vue生态也已经渐渐丰富了起来。React Native用于移动端十分便利,可以参考官方文档进行学习,不过它存在的虚拟DOM概念需要我们去理解,而且所有代码都是Javascipt对象的编码方式也有一定特殊性,需要多加练习才能慢慢理解。
不管是哪种框架,在编码后都需要代码编译,压缩,打包等操作,这个时候构建工具就出现了。目前的构建工具层出不穷,大概有十几种,我们无法学完全部的构建工具,但是可以选择其中比较重要的进行学习,典型的就是gulp+webpack了。
当我们学完以上一些东西后,总想着朝全栈的方向走去,这个时候就体现出NodeJS的意义了。NodeJS基于javascript编写,却能够处理服务器端逻辑,实则为一大突破。NodeJS作为服务器端开发语言,可以学习Express框架和KOA框架,顺便比较一下与传统的服务端Java语言处理起来有什么不同。
2.Java学习路线
首先你必须得学习JavaSE,JavaSE是你做java web开发的基础,不过如果遇到swing,jFrame,AWT的章节可以直接跳过,现在已经用的特别少了,而且不影响后续学习。
XML学习,在使用的很多框架中都是通过XML文件进行配置的,这个也必须掌握。
JavaEE部分,JavaEE的生态特别庞大,我们无法学习完所有的知识点,我就按照重要程度来说明学习的先后顺序。首先是Servlet,这是必须要学的,像Struts2和SpringMVC都是基于Servlet的封装,然后是JSP部分,因为目前基于纯HTML的开发已经越来越多,所以JSP部分可以不必深究。
Spring和SpringMVC,Spring作为目前Web项目必须集成的框架也是一定要掌握的。
数据库相关知识,首先要懂得数据库相关理论,推荐书籍《数据库系统概念》了解重点概念,然后就主要是SQL语句的学习了,可以在w3school上按照教程学习,具体能掌握一到两种数据库就行。
数据库连接JDBC,原生的JDBC语句要会编写。
持久化层MyBatis或者Hibernate,两者在使用方式上稍有差别,Hibernate更加面向对象化一些,而MyBatis在处理起SQL时更加灵活,目前好像MyBatis更加火热一点。
Ajax,目前Ajax技术运用越来越广泛,Ajax技术也是一定要掌握的。
Maven,作为java中十分有用的包管理工具,学习它是十分有必要的。
女孩子适合学哪个呢?
个人觉得女生还是适合做前端的,因为java逻辑性太强,以后做开发工作的时候很累,长期做的话会吃不消,又是非专业,之前没有编程基础,学习起来是很吃力的,而且现在学java的女生是真的少。而前端偏向设计、交互和产品方向,需要更加贴合用户,女生心思细腻,对页面细节把控更好,更具美感,对用户心理把握更准,这样的优势往往是男生所不具备的,女生学Web前端还是个不错的选择。