Whether "front-end technology," compared to only play an auxiliary back-end?

The problem stems from know almost question, screenshot as follows:

 

 


  1. How to define the front and rear end
  2. Status of the front survival
  3. The front end of the second half
  4. Opportunities front end

1. How to define the front and rear end?

Forum on People often expand the war to tear x before and after the end of the problem, the root of the problem is often not a good definition of the concept of front and rear ends.

Because these two words are inherently vague, me personally I understand it this way

Narrow front end : is pure Web front-end, browser-based technology is the front-end application

Narrow backend : the backend is pure Web-based back-end application server provides an interface for the front

"I was engaged in a six-year-old programmer web front-end development (my micro letter: webxxq), I spent a month earlier this year put together a web front-end full range of training courses best suited to self-study of 2019 (+ video source code + notes + project combat), from the most basic HTML + CSS + JS to a mobile terminal and a variety of HTML5 frameworks and new technologies are sorting, packing every front-end to a small partner, here it is the front-end learner gathering, welcome beginner and advanced junior partner (all front-end tutorial concerned about my micro-channel public number: web front-end learning circle, the attention reply "2019" to receive).

After clarifying these concepts so that we can discuss the issue properly, the large number of back-end data and artificial intelligence with contact with the back-end is nonsense, big data development engineers have specialized data manipulator, also has a corresponding artificial intelligence algorithm engineer Trader, in addition to also running in the back-end, back-end web with a neighbor outside, not so much.

Similarly, the front end can not be side-tracked with what the game developers themselves together, web games in addition to the same end with the front end of the run outside the browser, also lacks so much.

2. The status of the domestic front-end survival

The current status quo is also evident, with Ali, led by the Department of Amoy technology (like electricity supplier) The difficulty lies in the back-end, front-end display is just a thin layer, such as jade Peter answered

 

 

 

Usually a company, far more than the number of back-end front-end, back-end complexity of the project is also much higher than the front, which is the very real situation.

Also there is a common view, the rear end of the front compartment turn the mountain, turn the front end of the back-end compartment windows of paper, a lot of front-end to back-end programmers representation found work a lot easier, frame learn quickly, two days to get started work, but in fact this is not bragging, this is indeed the current status quo.

Is it possible to make a conclusion, and really just the tip of the presentation layer is responsible for rendering, as the back end of the secondary is normal?

Yes, in the current environment, this argument is undoubtedly established, but we ignore the basic situation, the vast majority of domestic enterprises are currently facing the C-terminal business, such as the US group, drops, we know almost, Taobao, Baidu, headlines etc., can count on the giants will undoubtedly serve the c end user, if you are an amateur product has some research you should know a basic idea, c end products are designed to be as simple as possible, c end product must be based on a fundamental assumption - - users are fools

For example, even now Taobao has been registered so convenient, and in 2017 sponsored the show that night Taobao Taobao customer service bombed, not because the server can not stand, but sinking to new users Taobao three or four lines and even county to fight the madness Taobao customer called and asked how to bind bank card?

So in this product design, front-end is impossible to make any tricks, because of the complexity of the front-end product can never exceed the lower limit of c end users the ability to understand.

And giants form of products but also determine its impossible to have a complex front-end interactive, the US group, which Taobao electricity supplier nature of the site itself is a display of goods, which is the most complicated point is nothing but a shopping cart and order logic logic, almost conceivable, headlines this community, use of news is more simple, almost showing articles.

We can see that the current giants of the nature of the product and user groups determine the complexity of the front end, the front end in this case is indeed playing an auxiliary, to undertake a huge back-end business logic, but also because for the C-terminal , which is a huge amount of users, user highly sensitive, the more this case the server to ensure high availability and high concurrency, schema design this time the server is almost determines the life and death of the product, while the front is enough on the line.

So, you can give the front end of the death penalty?

 

 

 

Actually there at the front end of the core of the commercial product? How could the front as the core technology, but also a thick layer ?

Over a year ago I had done a project, there is a demand in the local front-end read excel file rendered to the browser, and can do some level of numeracy, modification, sorting and other operations through the browser, which is my current did the most sophisticated front-end projects, although the specific technical details already forgotten, but I remember scratching their heads of state of emergency, and ultimately I did not do very beautiful, from github identified a variety of open source projects become a patchwork a function available.

在那之前我个人对自己的技术能力还是有一定信心的,但是那个功能把我搞得很狼狈,首先得分析一下这个需求:

  1. 从本地读取 excel,这个时候就需要一个 excel 解析器,把 excel文件解析成 js 相关的数据结构。
  2. 渲染 excel,这个时候需要一个 excel-like 的前端组件,能将 js 相关的数据结构渲染成 table 表格。
  3. 操作 excel,这就得保证这个组件不仅仅只是渲染,还得保证可编辑。

有人会说,这还不简单,github 上搜相关开源项目组装就完事了,可是问题就在于这个需求不是简单的组装,我们还得考虑现实情况。

  1. 本地 excel 可能会很大,有几万条数据,js 相关的 excel 解析器会在解析过程中产生浏览器假死的情况。
  2. 大量数据的 excel 在渲染过程中会产生卡顿,不仅如此,对上万行数据进行排序也会产生卡顿。
  3. 如何保证数据安全,在编辑表格过程中出现了断网、浏览器闪退,数据怎么办?

你一定想知道我是如何解决这个复杂问题的。。。 其实我没有解决得很优雅,因为这个需求的复杂度过高,如果完美解决甚至可以单独做一个创业项目了,最终我在web worker 中解析 excel,浏览器假死的情况就迎刃而解了,排序和计算的卡顿我分了两种情况,在数据量低于 5000 的时候直接有主线程计算,超过这个数字同样开启 web worker,毕竟主副线程通信也是要开销的,表格储存则更粗暴,直接在本地全量保存,每隔 10 秒钟同步一次,上传之后再在本地清除.

我们试想下如果上述的需求不是一个简单的功能需求,而是一个产品呢?如果把微软 office 系列、Adobe 全家桶、ide 搬到浏览器里会怎么样?

当然,我知道已经有公司做出类似产品了,这些产品就是所谓的前端核心技术产品,这些产品也有一个共同特点,用户是专业人员或者 B 端用户,这个时候产品的设计理念是尽可能把功能做强大来满足专业人士的需求,而非 c 端尽可能简单来保证用户能理解。

除此之外,这种形式的产品与 c 端产品还有一个巨大不同,那就是用户数量,由于面对专业人士这种小众群体,其用户量在中前期并不会太多,甚至做到后面的用户量可能都跟今日头条差个数量级,这个时候后端的高并发似乎并不是最棘手的,而产品的核心卖家反而在前端的功能开发上。

3. 前端的下半场

讨论到这里我们是不是可以达成一个共识?面对普通消费者的流量应用以淘宝、头条为首,其产品形态和用户群体导致其前端不可能做出太复杂的应用,而前端为核心卖点的应用集中在类似于在线office这种面向专业人士的产品上。

那么为什么现在的现状是展示类的流量应用占据绝对主导?

  1. 互联网人口红利效应,过去十年是互联网人口红利的十年,搞个APP ,靠砸广告、砸补贴获取廉价用户,然后忽悠投资人融资上市圈钱,在获取用户如此方便如此廉价的年代,很少有人会静下心来去经营那些面向专业人士的复杂应用。
  2. 浏览器技术的不成熟,过去十年我们基本上消灭了 IE,但是不可否认在过去很长一段时间 IE 占据很多份额,也不可否认前端技术也是最近几年才发展起来,像 Gmail 那种应用放在当年也就谷歌那种超级巨头 hold 住,即使现在如果没有 WebAssembly 的加持我们也很难开发出媲美photoshop的浏览器应用.
  3. 前端从业者的不成熟,不仅指一线开发者更指一线管理人员,前端从业者从刀耕火种到现在温饱奔小康也就这几年的功夫,出个 vue3这种专为降低框架使用门槛的框架都有喊学不动的,面对 Adobe 全家桶那种超级应用很难想象依靠目前的开发者来开发,这种级别的产品需要强大的软件工程管理能力和扎实的软件开发技能,从这一点上前端从业者显然没做好准备.

但是这个现状不会维持太久,BS 架构迟早会进入这些超级应用的法眼,浏览器+云会是这种产品的常态,会有越来越多的超级应用进入浏览器,前端这个年轻的行业也会正式进入下半场.

我是基于以下判断:

  1. 互联网人口红利已经开始逐渐消失,当然拼多多这种将战场下沉到四五线城市甚至农村的企业仍然可以获得成功,但是目前来看拼多多已经一沉到底了,不可能再有新的红利了,没有了流量加持,c 端的机会越来越少.
  2. 一个产业成熟的标志是出现了大量 B 端企业,当初的美国兴起、日本兴起都是从开始的代工厂(富士康)到组装厂(联想),但是真正在产业中占据上游,占据主导地位都是B 端厂商的大量出现,比如目前绝大多数国产手机的核心零部件都是受制于美日韩的 B 端巨头,IT 产业不能只有头条、淘宝、美团,也得有中国的微软、Adobe 和Autodesk,但是目前来看还没有.
  3. 浏览器技术已经趋于成熟,目前浏览器还有两个大招没放出来,一个是还没有成熟的 WebAssembly,性能直逼 native,据说 office 编译成 WebAssembly 之后体验丝毫不逊于原生,一个是今年下半年即将出场的 webgpu,他的出现可以将浏览器的图形计算提升到另一个高度

所以,下半场的前端可能要求会越来越高,比如需要更好的基本功(算法功底),比如需要一门 native 语言(c/c++),比如需要良好的图形技术(webgl、webgpu)。

4. 前端的机遇

到现在为什么只看到了前端越来越重要,技术要求越来越高,不见涨工资?

目前前端职场其实也处于一个平衡期,因为前端红利其实也在这两年消失了,前端 leader 升职最快的那几年恰好是前端工程化运动最热烈的那几年,2011-2016也正是三大框架先后发布,ES2015 逐渐普及,Babel、webpack 这些事实标准诞生的时间段,那个时候把项目从 JQuery 重构到 React 就是大功一件,足以在升职答辩上赚足了眼球,那个时候在项目里用上 Webpack 就叫工程化也是拿绩效的利器,目前大部分前端 leader 就是靠着一波红利走上个管理岗或者高 P,所以红利期不仅对于商业公司,对于职场人士也是适用的。

2016 年之后 IT 职场的红利已经转移到区块链和人工智能领域,毕竟用 TensorFlow 调个参当调参小王子也能拿 50w 年薪的年代没过去多久,这么看 AI 的红利可比前端大多了。

是不是可以判断,前端的职场新人空间已经被红利期的老人们挤压没了?

在固定的产品需求下其实是这样的,一个企业一旦不扩大,你负责的业务也不增长,当前的产品形态也不变化的情况下却是机会并不多,毕竟升职加薪的前提是得有坑,并且你得有成绩,在红利期结束后虽然你还有机会,但是机会确实很小了,因为需要做出更有价值的事情。

但是大部分公司不可能一成不变,随着我们上节提到的前端下半场的到来,比如云计算公司需要把开发者牢牢绑定在自己的云端环境上,那么他们就需要云端的 WebIDE,这种 B端面向专业人士的复杂前端项目是不是就是个挑战同时也是机遇?没有一定技术储备的前端根本 hold 不住这种项目,就如同我面对 excel 需求时那样无力,同样是写新闻展示页面大家的差距都不大,这个时候技术不重要,但是随着项目复杂度的上升技术其实越来越重要了,这就是机遇。


总结

前端在面对 B 端专业用户形态的产品下往往能起到核心技术的作用,但是同时对前端的技能要求也会更高,互联网 c 端产品的红利期即将结束,前端的下半场即将到来,我们能做的是什么?

深挖洞,广积粮,缓称王。

Guess you like

Origin blog.csdn.net/weixin_38004595/article/details/91438118