12月28-29日,QCon15周年,年终盛会即将开幕!>>>> 了解详情
写点什么

技术发展与技术政治

  • 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:36725

评论

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

AAX增添新网关,满足全球用户需求

股市老人

Vue组件入门(十四)依赖注入

Augus

Vue 10月月更

华为云桌面,助力企业扬帆起航

科技怪授

华为云 桌面云 华为云桌面

IoTDB 的架构、安装启动方法与数据模式 | 小白教程文档(二)

Apache IoTDB

数据库 IoTDB Apache IoTDB

DevOps | 如何快速提升团队软件开发成熟度,快速提升研发效能?

laofo

DevOps 研发效能 CMMI 敏捷研发 绩效考核

2022-10-25:在一个 2 * 3 的板上(board)有 5 块砖瓦,用数字 1~5 来表示, 以及一块空缺用 0 来表示。一次 移动 定义为选择 0 与一个相邻的数字(上下左右)进行交换.

福大大架构师每日一题

算法 rust 福大大

网络请求:Vue_Axios学习

Studying_swz

Vue 10月月更

C# 关于程序退出问题学习

IC00

C# 学习 程序员 上位机 10月月更

深入浅出Python——Python基础语法全解

何极光

Python 基础 10月月更

2022年元宇宙应用场景发展趋势分析

易观分析

元宇宙

Spring Boot「14」MVC 与前端控制器模式

Samson

Java spring 学习笔记 spring-boot 10月月更

助力企业高效率办公,华为云桌面必不可少

科技怪授

华为云 桌面云 云桌面

知识分享|To B产品的帮助中心页面制作方法

Baklib

对比学习算法在转转的实践

转转技术团队

人工智能 推荐算法 对比学习

华为云桌面,随时随地助力企业轻松办公

科技怪授

华为云 桌面云 云桌面

同样是网络加速,企业为何愿意选择华为云CDN?

秃头也爱科技

概述Spark主要特点

穿过生命散发芬芳

spark 10月月更

从幻想走向科学:人类操纵大脑的条条大路

脑极体

Student Management System

David

#架构实战营 极客时间架构训练营

深入浅出Python——Python高级语法之函数

何极光

Python 函数 10月月更

Commit之后发生了什么事情

我不吃六安茶

MySQL 事务

办公无界,看华为云桌面如何助企业上“云”

科技怪授

华为云 桌面云 云桌面

数据共享:VueX学习

Studying_swz

Vue 10月月更

限时免费领票|来云栖大会,看OceanBase 4.0最新进展

OceanBase 数据库

招聘软件哪个最好用?

优秀

招聘系统

Python在接口测试中的应用

攻城狮Wayne

学习方法 “程”风破浪的开发者 Python接口测试

华为云CDN为用户提供专业全面的加速服务

秃头也爱科技

【通知】OBCA考试收费调整公告

OceanBase 数据库

跨库分页

zarmnosaj

10月月更

分布式事务-消息队列实现分布式事务

zarmnosaj

10月月更

Baklib产品知识库|为什么说客户体验非常重要?

Baklib

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