写点什么

技术发展与技术政治

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

评论

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

极限数据 v0.2 版本正式发布了

极限实验室

elastic console Elastic Search 极限数据平台 ES多集群管理

架构实战营 - 毕业总结

Alex.Wu

架构实战营第4期--模块一作业

烈火干柴烛灭田边残月

架构实战营

专注的力量

卢卡多多

28天写作

第八模块

Li. Mr

如何实现单体架构到微服务架构的蜕变?

看山

微服务架构 单体架构 签约计划第二季

MySQL 配置文件 my.cnf / my.ini 逐行详解

蒋川

MySQL 数据库

架构4期模块一作业

曾竞超

架构实战营

[Pulsar] 消息从Broker到Consumer的历程

Zike Yang

Apache Pulsar 12月日更

极客时间算法训练营 Week03

jjn0703

学习心得 - 架构训练营 - 毕业设计项目

Fm

系统化思维 VS 场景化思维

Ian哥

思维模式 系统性思维 场景化思维

对比 volatile vs synchornized

悟空聊架构

volatile 28天写作 悟空聊架构 12月日更

拆分电商系统为微服务

deng

架构实战营

MySQL探秘(五):InnoDB锁的类型和状态查询

程序员历小冰

MySQL 28天写作 12月日更

模块七作业

bob

「架构实战营」

DDD领域驱动设计落地实践系列

慕枫技术笔记

内容合集 签约计划第二季

除了微服务,我们还有其他选择吗?

看山

容器 微服务架构 无服务器云函数 SOA 签约计划第二季

Java 面向对象精讲【中】

XiaoLin_Java

面向对象 死磕 Java 基础 12月日更

架构实战训练营-模块1-作业

温安适

「架构实战营」

在线JSON在线对比差异工具

入门小站

工具

设计电商秒杀系统

白开水又一杯

#架构实战营

电商业务服务拆分

🌾🌾🌾小麦🌾🌾🌾

架构实战营

第四模块

Li. Mr

架构训练营毕业总结

apple

聊聊工作界面

Justin

工作效率 沟通 28天写作 沟通界面

毕业设计项目:设计电商秒杀系统

apple

微服务架构指南

看山

微服务架构 内容合集 签约计划第二季 技术专题合集

工程师文化:BAT 为什么不喊老板

大龄程序员老羊

CTO 工程师文化 互联网创业

公司的电脑总是卡顿——因为缺少工程师文化

大龄程序员老羊

CTO 工程师文化 互联网创业

毕业设计

Li. Mr

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