前端出发能走多远——写在前面

2022 年 11 月 15 日,虽然在意料之中,但是靴子终于落地了:我们被裁了。互联网的寒冬肆意呼啸,冰冻了一批又一批人,大环境下能苟活已经很不错了。没有冰冻到你时,你觉得自己是寒冬的旁观者,寒冬降临到你头上时,你才感受到切肤之痛,这就是我当时真实的感受。当然,造成的影响就是北漂生活就此结束,我换了一个城市工作和生活。

如今,2023 年 11 月,一年时间很快过去,我的工作生活相对稳定了。虽然当前的工作与技术相关,但是深度和广度要求不高,担心多年的技术底子最终无用武之地,也担心知识随着时间的推移终究淡忘。于是,我下定决心,要把技术记录下来。

既然已经决定记录,问题便接踵而至:以什么形式的去记录?围绕什么主题展开?既然自我标榜是一名“前端”开发者,那我就从前端入手,同时,我又觉得如果仅仅是前端知识终究圈定了范围,属实是画地为牢了,那么一定要涉及一些前端之外的东西。于是,我定了一个专题前端出发能走多远:从前端开始,不忘记自己是一个前端开发者,它奠定了我的技术低调,“远”体现了两层含义:一是我的技术能挖掘多深,二是我的视界有多大,在深挖的过程中,我能否 360° 全面旋转。我觉得这个工作就好比挖土,挖得多深是离地深度,挖得得宽是土方体积,前者决定层次,后者决定质量。

希望这是一个很好的专题。这是在为自己打气,也在为我自己定目标。

言及至此,我有必要介绍一下我自己和我的前端之路。12 年毕业之后,开启“北漂”之路,从java web开始,2 年时间入了 web 之门,同时也埋下了全栈的执念(那时候也确实没有全栈的说法)。之后加入一家做搜索引擎的公司,参与搜索前端,这是我的技术的快速成长期,我确实体会到技术的乐趣,我能每天汲取新的知识,上午学习,下午处理工作,甚至有时连中午吃饭都是耽误的。之后,加入了一个视频网站,时间不长,却花了比较多的在构建工具的建设。再之后又回到之前的搜索引擎的公司,参与搜索结果的落地页建设,我开始思考如何从 0 到 1 去构建工程,更多的参与一些前端工程化的工作。疫情之后,我来了北漂之行的最后一家公司——所谓的某厂,在这里我可以以更大更广的视角去审视前端页面和前端工程,将前后端彻底打通,微前端低代码前后端同构云原生大数据等概念和实践轮番登场,确实让我看到了大厂的深厚底蕴。

很幸运,我赶上了互联网浪潮的涨潮。从 jQuery 一统天下到 React、Vue、Angular 三分帝国,而今后起之秀 Svelte、Solid 的加入,外部环境不管如何,前端的技术迭代周期已经打开,而且战况预发激烈。分析上述各框架的内在,jQuery 的直接操作 DOM 变得越来越不被接受,通过数据驱动才是取胜之道,但是虚拟 DOM 存在性能损失,让后来者 Svelet 和 Solid 之流又不得不考虑重新回归到直接操作 DOM,所幸历史只是轮回并没有开倒车,开发者依然只需关注数据流动(变化)。

由此看来,前端技术本质上是依托基本技术原理的上下波动,在激进和保守之间徘徊。比如当年前后端分离如火如荼,边界划分如边境的争夺——寸土必争,前端工程师好不容易逃脱 JSP、ASP、PHP 等动态语言的掌控。然而多年以后,前后端同构仿佛又让一切回到原点,所幸的是这次的主角是 Node.js——使用 javascript 作为编程语言。所以依然是前后端的分、前后端的合,究其原因可能也仅仅是四个字——降本增效。

在很多人来看来,前端就是一个画页面做交互的。我不能说这个说法错误,只能说这个说法只看到了冰山之一角。前端后端之区分本质上是一个边界的划分,前端更加专注于快速的页面呈现和极致的交互体验。这里面我提到了两个关键字:快速极致,简单来说如何把页面效果快速的呈现给用户,这个用户对于产品的第一印象,之后如何保证丝滑的体验。这是用户所能体验和感受到的,但其内部确实有很多的技术细节,简单列举一下:

  • 页面资源如何加载?资源又如何组织?如何生成?
  • 如何快速加载资源?如何快速实现首屏渲染以减少白屏时间?
  • 如何设计页面主题风格,按钮风格?如何设计动画效果?
  • 如何持续优化用户体验?如何确保不同展现终端的一致体验?
  • 数据怎么流动?页面行为如何组织?
  • 如何确保网站的稳定性?如何保证部署的稳定性?

看似一个个简单的页面,背后有这复杂的体系支撑。前端不仅仅是页面的实现,还包括围绕页面的周边技术,从一个页面出发,所能扩展的全部边界。

此刻,我想着我的专题前端出发能走多远,希望对那些入了坑和还未入坑的人有所帮助,我们共同走得更远!

相关推荐

  1. 前端出发——前面

    2024-07-20 14:50:02       26 阅读
  2. 前面的话

    2024-07-20 14:50:02       31 阅读
  3. 前端Get请求body上传参吗

    2024-07-20 14:50:02       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 14:50:02       101 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 14:50:02       109 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 14:50:02       87 阅读
  4. Python语言-面向对象

    2024-07-20 14:50:02       96 阅读

热门阅读

  1. Linux 之 grep命令详解

    2024-07-20 14:50:02       26 阅读
  2. 小程序底层原理

    2024-07-20 14:50:02       27 阅读
  3. 力扣第十八题——四数之和

    2024-07-20 14:50:02       27 阅读
  4. python处理DWG文件

    2024-07-20 14:50:02       22 阅读
  5. Mojo AI编程语言(九)网络编程:构建联网应用

    2024-07-20 14:50:02       26 阅读
  6. CSS Shapes布局

    2024-07-20 14:50:02       24 阅读
  7. 12、实现基于共享内存的二叉树set(续)

    2024-07-20 14:50:02       30 阅读
  8. ES6-11(第一部分)

    2024-07-20 14:50:02       24 阅读
  9. STM32+USART串口(1)

    2024-07-20 14:50:02       22 阅读