绝不误人子弟!零基础应该选择学习Java、PHP,还是前端?(2)

简介: 绝不误人子弟!零基础应该选择学习Java、PHP,还是前端?

1)JavaScript


JavaScript 应该说是前端吃饭的家伙,深度、广度要兼备。基本上主流的前端框架都是基于 JavaScript 开发的,像 Vue,是由前端大神 @尤雨溪 开源的 JS 框架;像 React,是 Facebook 开发的一款 JS 库。下面这些知识点,是一名前端开发必须要掌握的。


image.png


2)HTML 和 CSS


随便打开一个网页,按下 F12 就可以看到大量的 HTML 和 CSS 代码。一个网页美不美观,能不能得到用户的喜欢,除了 UI 设计,除了 JavaScript 来控制逻辑,剩下就是 CSS 样式了。


image.png


3)运行环境


浏览器作为 JavaScript 的一种运行环境,为它提供了:文档对象模型(DOM),描述处理网页内容的方法和接口,一名合格的前端得了解:


浏览器提供的符合 W3C 标准的 DOM 操作

浏览器的差异性、兼容性(Chrome、Safari、IE 等等)

可以使用 Node.js 搭建前端运行环境

可以使用 Node.js 操作文件、操作数据库等等

注:Node.js 是一个能够在服务器端运行JavaScript 的跨平台运行环境


4)框架和类库


有一说一,前端的框架和类库真的是层出不穷,我学过的就有 Flex、ActionScript、jQuery、Bootstrap、TypeScript、React、Vue,有些已经淘汰了,有些快被淘汰了,有些是当下的主流。


对了,前端里还有 Flutter,一个由谷歌开发的开源移动应用软件开发工具包,用于为 Android、iOS、Windows、Mac、Linux、Google Fuchsia 开发应用。


吹个小牛逼,我之前还为京东大佬的《Flutter 实战入门》的书写过推荐序,虽然后来只在封皮上留下了这段话。


image.png


前端的 UI 组件也非常多,比如 Ant Design、EChart,还要掌握 GIS 开发框架,比如百度地图的 API,还有可视化开发框架,比如 Three.js、D3。


前端还需要懂一些计算机基础,比如说:


image.png


虽然大部分前端对数据结构和算法这部分知识有些欠缺,甚至抵触,但真的想要摸到更高的天花板,数据结构和算法是必会的。


image.png


另外,要熟练使用浏览器提供的调试工具,比如说 Google Chrome,还有微信基于 Chrome 内核魔改版的可用于调试公众号和小程序的调试工具。


前端不再是单纯的写写 JavaScript 和 CSS,也需要工程化,所以需要理解 npm、yarn 等依赖包的管理原理,还有前端打包工具 webpack 的编译原理等等。


对了,还有性能优化这块。尤其是启动页,用户第一时间看到的,如果加载速度慢,页面的响应速度慢,用户可能就直接离开了。


我之前在做微信公众号的小商城时,可没少在首页的加载速度上下功夫,要压缩 CSS 和 JavaScript,要使用 CDN 内容分发,要减少 HTTP 请求的数量,要实现图片的懒加载,还要后端配合一些缓存等等。


这么一套前端的知识体系下来,是不是就不会再有那种刻板印象了,前端真的那么简单吗?懂的人永远不会说简单。


贴一张字节跳动的面试题吧,想走前端路线的同学可以感受下。


image.png


还有一张前端的技能图谱:


image.png


真乃学无止境也!


最后,简单说几句。


真没想到!愤怒!竟然还有学校还在教 Java 的 Swing这篇文章会这么火!完全超出了我的预期!


很多人在评论区喷我,看得我是心里笑呵呵~~~~



没必要!没必要!没必要!


我一没打算让学校放弃教 Java,二没打算让 Intellij IDEA 的团队不用 swing 开发,我只是说两句心里话,能听得进去的,大学毕业后一会不会觉得亏,毕竟国内的计算机高校还是有一些问题存在的,如果不问青红皂白就忽略这些问题,我觉得很可怕!


学校给不了的,我给了,你听进去了,多年以后你会来感谢我说的真心话,听不进去的,想喷的,随意,真的,开心就好。


最后的最后,还是那句话,与其把时间花费到这些没用的知识点上,真不如:


1)痴迷于数据结构与算法


算法题就好像科举考试时代背的八股文,是知识改变命运的代表作。你不刷,就很过算法题这一关,因为不仅要考,还能提高你的编程功底。我给你推荐的 BAT 大佬的刷题笔记,一定要下载下来刷一刷(可以点击下面的链接去下载)。


他喵的,BAT 大佬的这份刷题笔记太强了!


2)热衷于 ACM


3)尝试 Unix、Linux 环境下编程


4)醉心于网络编程和多线程编程,对 TCP/IP、HTTP 等网络协议有很深的理解


好了,今天的分享就到这吧。吹个牛逼,二哥影响力已经扩散到两岸三地了,正在服兵役的小哥哥,加油呀!




我是二哥呀,希望能给学弟学妹们一些帮助和启发,记得点赞哟~

相关文章
|
2月前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
91 43
Java学习十六—掌握注解:让编程更简单
|
24天前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
2月前
|
存储 SQL 小程序
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
这篇文章详细介绍了Java虚拟机(JVM)的运行时数据区域和JVM指令集,包括程序计数器、虚拟机栈、本地方法栈、直接内存、方法区和堆,以及栈帧的组成部分和执行流程。
36 2
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
2月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
51 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
2月前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
21 1
|
2月前
|
前端开发 Java 应用服务中间件
Javaweb学习
【10月更文挑战第1天】Javaweb学习
33 2
|
2月前
|
存储 缓存 Java
【用Java学习数据结构系列】HashMap与TreeMap的区别,以及Map与Set的关系
【用Java学习数据结构系列】HashMap与TreeMap的区别,以及Map与Set的关系
39 1
|
2月前
|
存储 搜索推荐 算法
【用Java学习数据结构系列】七大排序要悄咪咪的学(直接插入,希尔,归并,选择,堆排,冒泡,快排)以及计数排序(非比较排序)
【用Java学习数据结构系列】七大排序要悄咪咪的学(直接插入,希尔,归并,选择,堆排,冒泡,快排)以及计数排序(非比较排序)
26 1
|
2月前
|
存储 算法 Java
带你学习java的数组军队列
带你学习java的数组军队列
35 0