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

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

我们总是迷失在各种技术了,总是迷失在新技术带了的各种概念里。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. STM32中ARM系列编译工具链的编译宏选择(__CC_ARM、__ICCARM__、__GNUC__、__TASKING__)

    一 前言 stm32 f103中.关系到一个选择何种编译宏的问题.这里就梳理一下吧. 二 正文 1  在 core_cm3.h 文件中,有如下代码: #if defined ( __CC_ARM ) ...

  2. 三、ReactJS、jsx、 Component 特性

    reactjs特性: 基于组件(Component)化思考 用 JSX 进行声明式(Declarative)UI 设计 使用 Virtual DOM Component PropType 错误校对机制 ...

  3. Python PIP包管理器

    版权所有,未经许可,禁止转载 章节 Python 介绍 Python 开发环境搭建 Python 语法 Python 变量 Python 数值类型 Python 类型转换 Python 字符串(Str ...

  4. Linux用户管理 权限管理 内存管理 网络管理命令 (第四天)

    默认添加的用户会自动加入和用户名一样的组中su 切换用户查看当前登陆的用户: whoami id`查看当前用户属于哪个组:groupsgroupadd 组名 添加组groupdel 组名 删除组gre ...

  5. CCCC L3-013. 非常弹的球

    题意: 刚上高一的森森为了学好物理,买了一个“非常弹”的球.虽然说是非常弹的球,其实也就是一般的弹力球而已.森森玩了一会儿弹力球后突然想到,假如他在地上用力弹球,球最远能弹到多远去呢?他不太会,你能帮 ...

  6. MySLQ排序后标记排行

    查询排行及所有(表名.*) 1. ; AS top, customer.* FROM customer 2. AS top, customer.* ) r, customer ORDER BY cus ...

  7. 通过整合遥感数据和社交媒体数据来进行城市土地利用的分类( Classifying urban land use by integrating remote sensing and social media data)DOI: 10.1080/13658816.2017.1324976 20.0204

    Classifying urban land use by integrating remote sensing and social media data   Xiaoping Liu, Jialv ...

  8. Beyond Compare 文件对比工具的使用

    Beyond Compare 文件对比工具的使用 Beyond Compare 工具下载地址: http://www.onlinedown.net/soft/633850.htm 本文下载地址:E:\ ...

  9. C++中的string详解

    标准库类型string表示可变长的字符序列,为了在程序中使用string类型,我们必须包含头文件: #include <string>  声明一个字符串 声明一个字符串有很多种方式,具体如 ...

  10. python刷LeetCode:21. 合并两个有序链表

    难度等级:简单 题目描述: 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4输出:1 ...