Java小白到大神的心路历程(Web前端)

本文是“Java心路历程”的第二篇,第一篇请点击右侧这篇文章:Java小白到大神的心路历程(Java SE)

1.HTML/CSS

在学完Java SE之后,学不懂HTML/CSS的原因只有一个:你自己不想学。

但如果HTML/CSS是你的第一门接触编程语言,最大的障碍不是难,而是你还没有编程的思维方式,唯一的解决办法就是练习(注意,只能是练习;听课、看书的效果都不如自己练习好)。

HTML,应该是所有编程语言中最简单的一个(没有之一)。

HTML和CSS的一个共同特点就是:记。

如果要说技巧 ,那就是先通过反复的练习,暂时只记住一些常见的元素,然后再在以后学习JSP等其他课程时,遇到一个累计一个。

初学者可能会觉得CSS相对难理解一些,但实际上大部分学习JAVA的人都是做后台开发的。因此对于HTML/CSS不用花太多时间,学到自己感到吃力的时候暂时放弃也是可以的。有时候是“身在事中谜”,随着后续其他Web技术的学习,你自然就知道哪些HTML/CSS是重点,哪些仅做了解即可。

在学习HTML/CSS,还有一个现象:虽然语法简单,但太费时间了。例如,给我们一天时间,我们可能都开发完了一套基础的软件架构,或者完成一个Java SE案例的全部功能,至少也能写出几个CRUD了;但一天时间,我们可能连一个网站HTML/CSS页面都做不完。不是难,是繁。

一句话总结:不用花太多时间学习HTML/CSS,点到为止。


2.JavaScript

真正精通JavaScript的人实在太少了。因为我们一般看到的JavaScript教程和书籍等,可能仅仅是JavaScript知识体系的冰山一角。完整的JavaScript技术几乎可以实现任何功能,包括服务端开发和数据库访问。而我们在网上看到的很多JS教程,大多只讲了DOM元素操作、校验、方法、事件以及一些简单的功能或案例而已,实际上这些最多只算是JavaScript的入门。

当然,如果你的重点是后端或全栈开发,学习基础的JavaScript知识也已经足够了;当然,你也可以在对JavaScript有基本的了解后,学习一些JQuery等JS框架加速开发效率(可能有人说目前已经“去JQuery化”了,但至少在目前阶段,我个人还是非常建议去学习JQuery的)。

但如果你是想搞专业的前端开发,那么JavaScript就是你需要深挖的重点了。重点有哪些?我们平时学习的面向过程、面向对象、客户端开发、服务端开发、脚本化、HTTP、图形技术等,JS都可以做。

一句话总结:先暂时学习常见的JS基础足以,其他高阶JS技术等到以后需要时再学吧。


3.VUE、React、Angular、webpack、npm等前端框架

VUE、React、Angular等Web前端框架被广泛使用的时间较晚,基本都是在动静分离、前后端分离等概念流行之后才应运而生的,实际上学习这些框架的人很多都是原来的“后端开发者”。

对于这些“后端开发者”而言,学习这些框架太简单了。因为这些框架虽然是用于前端,但编码流程和架构思想和后端开发实在太像了。举个例子,这些框架摒弃了之前将函数根据功能归类到不同js文件的做法,而是采用了分层开发的思想。例如,以下是一个VUE程序的请求流程:

请求->router(“映射”)->vue文件中的script->某个js格式的api调用文件->Easy Mock服务地址

这种流程与后台开发使用的“三层架构”的思想几乎异曲同工,所以后台开发者在学这些前台框架时会非常轻松。再比如,后端开发者可以使用maven管理依赖,而前端人员可以使用npm管理js依赖;后端使用的yaml语法,可以在前端编写swagger文档;以前在前后端调用时使用的ajax,又变了新前端框架axios……想告诉大家的是,哪有什么前端新技术,只不过是前端引入了后端框架的编程思想而已。因此,当你真的把后端主流技术学完后,再学这些前端技术是非常容易的。

对于那些还没学过后端技术的同学,这些前端框架怎么学?如果你的就业方向是纯前端,那没的说,硬着头皮上,慢慢学吧;但如果你最终还是后端或全栈开发,我个人建议你是先学后端技术,之后再转回来学这些前端框架。因为这些框架中涉及到的“分层思想”是软件开发中非常重要的思想,肯定是需要花大把的时间和精力去慢慢研习的,而我们在学习时也经常会有“先入为主”的感觉,因此建议你先把主要精力集中在后端的学习,当把后端搞懂后,这些所谓的前端框架都不是问题了。

一句话总结:如果觉得难,把后端学完再来。

- 完 -

Java小白到大神的心路历程(Java SE)

答疑 | 面试全对,却没offer?

"hello"+null = ?

读者交流 | JAVA过时了吗?

自己写的java.lang.String能用吗?

答疑 | synchronized有指令重排序的功能吗?

服了,list.add()也会报错!!!

一道JVM面试题,答错率超90%

10行代码2道题,全答对的你月薪多少了?

自己写的java.lang.String能用吗?

猜你喜欢

转载自blog.csdn.net/yanqun007/article/details/103652272