写点什么

技术发展与技术政治

  • 2013-07-09
  • 本文字数:1291 字

    阅读完需:约 4 分钟

最近,InfoQ 中文站就前端趋势大会上被人提及的 noBackend 概念进行了跟踪。这种概念提倡让前端就可以完成一个完整应用的开发,将后端完全转化成接口给隐蔽起来。

根据阿里 UED 团队王涛同学的解释:

“noBackend 并非是一种新技术或是一种新架构,而是一种新的 web 开发模式。我们经历过前后端分离的开发阶段,就是后端同学提供数据接口,让前端同学调用来实现页面逻辑,其实在这个阶段,就已经奠定了 noBackend 的架构基础……业务开发的重担会落在前端层面,而多条产品线,甚至整个公司的产品都可以共用一套后台接口服务平台。”

很多前端听说这一概念之后都感到很兴奋:如果只依靠前端就可以独立完成产品的研发,那么前端在团队中的价值无疑会大幅提升。同时,noBackend 模式对前端开发提出了更高的要求,这意味着做前端成了一个更有技术含量的工作。

在以前,前端要么附属于设计,要么附属于产品。在很多网站,前端只是把 PSD 变成 HTML 的一道工种。写 CSS 的工作,在很多后端看来,根本不是开发。

Ajax 技术到来之后,网站能做的事情更多了。随着 JavaScript 能做的事情越来越多,前端对产品的影响力也逐渐上升。可以说,JavaScript 技术的成熟度决定了前端在团队中的话语权。

虽然如此,我们还是发现,并不是所有的前端都喜欢 noBackend 这个概念。

豆瓣前端团队负责人张克军,他所站的角度不是前端的角度,而是工程的角度。

“我对所谓“noBackend“持反对意见,这种叫法很哗众取宠,个人不喜欢。

所谓“noBackend“不过想说,前端有个完整的“MVC 框架“(或类似概念框架)负责产品全部的展现逻辑和数据交换。后端只提供纯粹的数据服务。

对于规模足够大的产品来说,这种模式问题很多:

  1. 为了给搜索提供入囗,前后端最好是共用模板。这样很多 server 端成熟的模板系统就不能用了
  2. 浏览器(包括手机浏览器)的兼容问题,坑太多
  3. 把大量计算放到进浏览器里实现影响体验。手机浏览器明显不适合这样做
  4. Javascript 不安全
  5. 这不是未来。未来应该是 web components 这种基于组件的开发思路
  6. 这也不是重点。当前重点应该是利用前端技术更好解决产品使用体验跨设备、跨平台布署的问题

前端架构上应该保持简单,合理利用后端的计算能力。不会刻意追求全 JS 技术堆栈的方案。”

是站在前端的角度,还是站在项目的角度?是站在团队的角度,还是站在工程的角度?

用 @gaosboy 的话总结来说就是:从前端角度谈 noBackend 就是谈政治。站在整个网站的角度,看看开发成本最低,最合理的方式吧。

本文作者简介

杨赛(@lazycai),InfoQ 中文站编辑。到处串门的互联网信徒,相信规则的力量。

InfoQ 微信周二专栏作者招募中!邮件 editors@cn.infoq.com 了解详情!

***********************************

本文来自 InfoQ 微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 + 关键词”,搜索关键词相关内容;

4、回复“QCon”,了解 QCon 大会相关信息;

5、回复“活动”,了解最近 InfoQ 组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

2013-07-09 02:361164

评论

发布
暂无评论
发现更多内容

CPU的性能,编译器是这样压榨的!

GPU

算法 cpu 编译器 程序语言

我的 Windows 利器

玄兴梦影

工具 Win

除了直接看余额,谁更有钱还能怎么比(三)

石君

零知识证明 多方计算 同态加密

从技术到管理,我在极客时间的成长历程

邓建春

万字长文,助你吃透Eureka服务发现机制!

攀岩飞鱼

分布式 微服务 Eureka

iOS 动画 - 窗景篇(一)

柯烂

ios objective-c swift 移动应用 动画

搞定 HTTP 协议(一):HTTP 与网络基础

零和幺

技术 大前端 HTTP

深入理解ClassLoader

Skye

类加载 深入理解JVM ClassLoader

MySQL实战笔记-事务隔离和MVCC

shiziwen

MySQL 学习 事务隔离级别

产品经理的商业能力

punkboy

程序人生 产品经理 商业 商业模式 商业价值

信息的表示与存储-整数的表示

引花眠

坏的开始是成功的一半

escray

深入理解ContextClassLoader

Skye

深入理解JVM ContextClassLoader

机器学习算法评估指标——2D目标检测

做技术BP的文案Gou

游戏夜读 | 2020周记(5.24-5.31)

game1night

赢的境界 - 双赢思维

石云升

创业 创业心态 双赢思维

【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。

why技术

redis 分布式锁 分布式系统

是公司养活了你,还是你养活了公司?

四猿外

生涯规划 程序员 个人成长

啪啪,打脸了!领导说:try-catch必须放在循环体外!

王磊

Java 性能优化 性能 java编程

关于区块链的“去中心化”,90% 的人都搞错了

CECBC

CECBC 区块链技术 去中心化 专制

Linux 自动化运维工具 ansible

杨仪军

Linux 运维自动化

java的时间利器:joda

毛佳伟🐳

Java

不想被下载限速,教你自建属于自己的云盘!

小傅哥

小傅哥 云服务 云盘 在线网盘

架构学习历程

匆忙的一周 ARTS第二周

困到清醒

ARTS打卡 第2周

引花眠

ARTS 打卡计划

深度解读 Flink 1.11:流批一体 Hive 数仓

Apache Flink

大数据 flink 流计算 实时计算

【大厂面试01期】高并发场景下,如何保证缓存与数据库一致性?

NotFound9

Java MySQL 数据库 redis 后端

深入理解JVM类加载机制

Skye

类加载 深入理解JVM

这些Java8官方挖的坑,你踩过几个?

牧码哥

Java 踩坑 加密 「Java 25周年」

[Redis] 你了解 Redis 的三种集群模式吗?

猴哥一一 cium

redis redis高可用 redis哨兵模式 群集安装

技术发展与技术政治_语言 & 开发_sai_InfoQ精选文章