前端发展了也有些年头了,曾记得很多年前,聊起前端,都觉得是很简单,那个时候都没有前端工程师这个职位。可现在,前端已经逆袭了,已经不是原来的样子了,各种技术层出不穷,显的越来越高深莫测了。前端真的变得那么难了吗?在我看来,前端还是原来的前端,虽然有些关变换,但不应该像现在一样复杂。

框架太多了,新技术太多了

我们总是迷失在各种技术了,总是迷失在新技术带了的各种概念里。angularrect bootstrap等等,他们给我们带来便利的同时也给我们带来了麻烦。我们真的需要这些框架吗?学会了这些框架就等于学会了前端吗?

或许很多时候我们学习这些不是为了去解决问题,是为了显示我们是多么的有格调,我们掌握了多少流行的东西,更或者是用来粉饰我们的简历。我们已经远离的技术的真正价值。记得几个月前和一个前端在讨论,他问我现在有哪些流行的技术;我说,我把手机上的1px的线能显示一个像素就是流行技术了(手机端一个像素的线会大于一个像素)。

这些新技术虽然带给我们方便,但我们不能迷失在里面,我们要去解决问题;再有一个例子,css3的动画有BUG,但是我在网上很少见人去讨论这些问题,讨论多就是各种框架的使用。我们不能迷失在各种新技术里,主要我们就会把简单的问题度复杂化了,会把我们的前端变的很复杂。

专门建立的学习Q-q-u-n ⑦③①-⑦⑦①-②①① 分享学习方法和需要注意的小细节,不停更新最新的教程和学习技巧(从零基础开始到前端项目实战教程,学习工具,全栈开发学习路线以及规划) 

我们还在抱着过时的准则当圣经

曾几时雅虎的前端优化准则成为了标准。但是几年过去了,那些准则还在束缚着现在的人们。

比如在移动端大家习惯用zepto,我这里不是喷这个zepto。因为现在网速快了,加载个jquery已经感觉不出比加载zepto慢了,但是很多人还是在用这个zepto,zepto有很多bug,远没有jquery成熟。网上说的性能,至少我测试的时候没发现jquery性能赶不上他。我不知道哪些说jquery性能不好的人有没有测试比对过。

再举个例子,前端js css发布前压缩的问题。以前压缩也是因为网速慢,现在除了核心的压缩以外,一般的我觉得根本没必要压缩了,压缩了调试还麻烦,还有一堆配置,增加项目复杂度,压缩真的有必有吗?

关于模块化开发,模块化开发也是炒的沸沸扬扬,貌似是必备的技能,但是我们有多少项目需要模块化开发,他们给我们带来多少便利?至少我做过的项目大多数是用不到模块化开发的。

我们的代码变得怪异难懂

我不知道从什么时候,前端的代码写的越难懂就越能显示水平。代码是要尽量保持可读性的。能用通俗的写法写的,尽量不用怪异的写法写,哪怕我要多写几行代码,我们也要保持代码的可读性。但是现在的前端代码以别人看不懂为荣,以用了某些高级应用为荣,前端的代码编写已经进入了误区。有时候我发现身边的一些人,代码那些怪异的写法,他自己根本也不知道为什么那么写,只是单纯的觉得那样写看起来水平高而已,仅仅如此而已。

  public static void main(String[] args) {
  
  // 1.继承Thread类
  
  ExtendsThread extendsThread = new ExtendsThread("test1"www.huizhonggjpt.cn);
  
  extendsThread.start(www.jiuhuaylgw.cn);
  
  // 2.实现Runnable接口
  
  ImplementsRunnable implementsRunnable = new ImplementsRunnable(www.lafei6d.cn "test2");
  
  // 实现Runnable接口的类不能单独使用,最终还是要依赖Thread
  
  Thread implementsRunnableThread =www.baihua178.cn new Thread(implementsRunnable);
  
  implementsRunnableThread.start(www.xinyueylzc.cn);
  
  static class ExtendsThread extends Thread{
  
  private String name;
  
  public ExtendsThread(www.tengyao3zc.cn String name) {
  
  this.name = name
  
  @Override
  
  public void run(www.shentuylzc.cn) {
  
  System.out.println("ExtendsThread is " + name);
  
  static class ImplementsRunnable implements Runnable{
  
  private String name;
  
  public ImplementsRunnable(String name) {
  
  this.name = name;
  
  @Override
  
  public void run() {
  
  System.out.println("ImplementsRunnable is " + name);

我们这些老前端没给新手一个明确,切实的指引

JavaScript的原型继承算是比较重要的,但是我读了很多JavaScript的书,没有发现那本书真正把他讲清楚了,至少现在没发现。那么多书,讲了那么多时髦的东西,我们却没讲出这个最基础的概念。再比如说,书上讲的的很多css3的东西都是W3C的文档改编的,网上的。我不知道大家再用css3的时候有没有发现很多的bug,这些bug难倒不需要写在书里让新人们少走一些弯路吗?

为什么Web前端变的越来越复杂,变得更加难学了的更多相关文章

  1. 初学web前端 ,请大家多多提意见 前几天学的 学写盒子模型

    <!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8&qu ...

  2. Web前端开发的就业前景怎么样,薪资待遇如何

    信息技术的迅速发展,使IT技术者们赶上了一个百年难遇的好机会,尤其是国家出台了“互联网+”的政策后,更是催生了IT行业的就业空间,使其呈现爆发性增长. 如今,微信逐渐成为了大家主要的交流工具,随着各种 ...

  3. 小白到web前端工程师需要学习哪些知识?

    随着web3.0时代,那么web前端开发技术人才越来越吃香,而且web前端领域划分越来越细,对技术的需求越来越高,想学习web前端的人也是越来越多.那么,如何学习web前端知识?从哪开始?转型成为we ...

  4. 零基础转行web前端,要学习多久?需要掌握些什么?

    web前端开发技术人才越来越吃香,而且web前端领域划分越来越细,对技术的需求越来越高,想学习web前端的人也是越来越多.那么,如何学习web前端知识?从哪开始?转型成为web前端工程师需要学些什么? ...

  5. 初学者如何迅速学习web前端开发

    首先告诉你的是,零基础学习开始学习web前端肯定难,web前端的专业程度本身就不简单,学习这事本来就是一件非常煎熬的事情,人都不愿意学习,可是没办法,为了生存掌握一个技能,你必须学,如果你认真的对待, ...

  6. 微信小程序----关于变量对象data 和 前端wxml取后台js变量值

    (一)页面变量对象data 对象data 有两个方面用途 第一,前端wxml的数据渲染是通过设置此对象中定义的变量进行关联展现的 第二,定义JS页面中的页面局部变量,使其整个页面中可使用或调用 对象d ...

  7. Web前端工程师成长之路——知识汇总

    一.何为Web前端工程师?          前端工程师,也叫Web前端开发工程师.他是随着web发展,细分出来的行业.Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript ...

  8. Web前端开发推荐阅读书籍

    前言 前端工程师在中国兴起也就5年左右,以前公司里没有专门前端工程师的这个职位,很多前端方面的任务都是由全栈工程师来完成,有的基础一点的后台或者设计的帮助分担一些.但是随着互联网的快速发展,特别是所谓 ...

  9. 关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)

    本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别 ...

  10. 关于大型网站技术演进的思考(十九)--网站静态化处理—web前端优化—上(11)

    网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是应该归属于web服务端的技术范畴还是应该归属 ...

随机推荐

  1. 四十五、SAP中Message的管理

    一.事务代码SE91 二.输入相关名字,点击创建 三.输入内容 四.定义成本地对象 五.在消息中添加一条短文本 六.我们代码如下 七.执行

  2. 解决Java POI 导出Excel时文件名中文乱码,兼容浏览器

    String agent = request.getHeader("USER-AGENT").toLowerCase(); response.setContentType(&quo ...

  3. 吴裕雄--天生自然C++语言学习笔记:C++ 运算符

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C++ 内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 算术运算符 下表显示 ...

  4. CentOS 7 下oracle 11G R2 ADG 搭建

    本文记录ADG搭建操作步骤,首先在虚拟机CentOS中安装并配置好oracle 11g R2(具体安装步骤在我的另一篇博客中),然后拷贝一份虚拟机,修改新虚拟机的主机名和ip配置,这时候主库和备库是一 ...

  5. c++程序—switch分支

    #include<iostream> using namespace std; #include<string> int main() { //多元分支 cout <&l ...

  6. C# Socket编程入门

    一直没有触及到这一块儿,学习下 在看一个小demo   https://www.cnblogs.com/yy3b2007com/p/7476458.html

  7. 合理控制MBA Essay写作字数很重要

    作为一个MBA申请人,在Essay写作的时候一定会迸发各种各样的想法和念头,想要统统传达给招生官.然而面对有限的字数限制,想要尽可能多地在Essay中涵盖重要信息,就让人颇为头痛了. 面对想要倾诉的欲 ...

  8. localStorage中使用json

    function setLocalJson(name, json) { json = JSON.stringify(json); localStorage.setItem(name, json)} f ...

  9. 关于SOA的架构设计案例分析

    SOA体系架构及相关技术,主要应用在企业应用集成领域,它能够以服务的方式共享和复用企业现有应用资产,保护用户IT投资,并能够以服务的方式构建新的业务流程,对企业流程进行灵活重构和优化,增强业务的敏捷性 ...

  10. Nginx系列p4:进程结构

    Nginx 有两种进程结构:单进程结构,多进程结构.本篇文章我们主要说多进程结构. 问:那为什么 Nginx 采用多进程结构,而不是多线程结构呢? 答:这是因为 Nginx 最核心的目的就是要保证高可 ...