【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

Web 不是未来会赢,而是已经赢了

Web has won

  • 2016-11-15
  • 本文字数:3218 字

    阅读完需:约 11 分钟

过去 20 多年来,Web 已由一个基本的文档共享网络发展成为诞生之初我们根本无法设想的,无所不能的平台。自面世之日起,Web 就在努力迎合用户的各种需求,虽然发展过程中也曾犯过各种错误,但这些问题陆续都已顺利解决。诸如 Flash 和 Silverlight 等插件本有机会统治整个市场,因为 Web 本身当时还在匍匐前进中,很多方面尚不能满足用户的需求。但当智能手机引发的革命使得大家逐渐忘却台式机(和各种插件),转为使用体积更小,同时性能不那么强大的便携设备后,大环境又一次发生了巨变。

“移动”的世界到底是咋回事?

距离人们在“水果店”外排队购买初代 iPhone 到现在已经差不多 10 年了,Web 技术至今也还没有全面成为移动领域的“一哥”。“移动化”的 Web 能力依然落后于原生应用甚至桌面浏览器。Flash 虽然算是死了,但 HTML5 依然没有因此而能称王。然而越来越多的开发者开始使用这种技术开发自己的移动体验,Gartner 称到 2016 年底,超过 50% 的移动应用将会使用混合方式开发。

诸如 React Native 和 Phonegap(Cordova)等工具为 Web 开发者提供了一种使用 Web 技术构建原生应用的备选方案。这种混合方式在时间和成本方面的效益更高:开发者无需专门为每个移动平台从零开始构建应用,而是可以编写基于 HTML5 的代码,只须编写一次,少量调整后即可重复部署至 iOS、Android、Windows Phone 等平台。

谷歌也在想方设法推进 Web 平台技术的发展。他们通过自家的操作系统 Chrome OS 作为标杆向大家展示 Web 技术的各种可能性,甚至向我们展示了 App Store 本应能做到的一切。Chrome OS 完全依赖 Web 技术,除了可供开发者用在自己的 Chrome 应用中,由浏览器提供的 JavaScript API 之外,不包含任何类型的原生备选方案。但 Chrome OS 并不能算作一种移动平台,尤其是考虑到该系统内建了一个桌面级的浏览器,并且只安装在一些小型笔记本上,因此谷歌又提出了 Progressive Web Apps 的概念,借此打造易用性更强,更接近原生应用体验的 Web 应用。理论上这种应用的实际使用效果还不错,并且应该成为未来几年里 Web 技术的发展方向,但目前这依然仅仅是一个愿景创意,只能用于谷歌自己的 Android 版 Chrome 浏览器,该技术还有很长的路要走。

JavaScript 的革命

虽然大部分人依然认为 JavaScript 只是一种前端 Web 开发技术,但实际上 JavaScript 已经逐渐渗透至现代化计算领域的每个角落。在我看来,Node 是 PHP 的未来。Node 易于学习,易于安装和开发。Node.js 唯一欠缺的是托管方面的广泛支持。大部分 Web 托管服务依然只支持 PHP,但 Node.js 也为想要尝试新技术的托管公司提供了一个好机会。

IoT(物联网)甚至 VR(虚拟现实)领域也可以见到 JavaScript 的身影。知名的 JavaScript 库 Johnny Five 就可以用于几乎所有新型的微处理控制器(Microcontroller,也许你喜欢与用其他名字称呼这种技术)。Tessel 也很好地证明了 JavaScript 可以实现的丰富用途,它已经不单纯是一种库,更像是一种依赖 JavaScript 的完整设备。

去年这时候 Mozilla 发布了 A-Frame。虽然该技术并未获得应有的广泛关注,但这实际上是一种非常让人吃惊的库。基于 Three.js 构建的 A-Frame 使得开发者可以创建基于 Web 的虚拟现实体验。我自己尝试过这种技术,不得不说这个库太伟大了。问题在于 VR 技术的重要性并不像大家想象中(本应该?)的那么高。也许有朝一日虚拟现实技术会变得极为平常普遍,但也许人们再也不会为其感到激动了。

社区

无论公司或个人,总是需要 Web 的,应用通常包含的内容还是不如网站那么丰富。例如手机银行,虽然可以在银行的应用中办理很多业务,但通常就有些业务无法支持。网站的成本更低,更易于访问,通常来说开发过程也相对更为简单,为 Web 技术背后的开源社区在近年来也已经对 Web 技术进行了大刀阔斧的革新。

诸如 jQuery 和 Bootstrap 等框架使得不同技术水平的开发者可以更容易地进行 Web 开发。一段时间来,似乎接下来需要考虑的就是 Angular 了,然而该技术在向后兼容性方面还没有达到前任所实现的高度。市面上还有大量都很不错的 MV* 库,例如 Backbone、Knockout、Ember,以及 Vue 等,因此开发者并不需要固守于 Angular,尤其是该技术会使得他们无法继续使用原有的代码。

我认为可以说 Web 开发的未来主要还会落在 React 身上。Facebook 开发的库在 Web 开发社区中曾引起热议,经过不断的完善这些库已成为大家的首选,而不像 Angular 那样做的太过火。我认为,React 未来面临的最大挑战在于接受度。因此问题实际上就变成:网站真的需要 React 吗?

永不停歇的成长

Web 技术依然在以稳定的速率成长着,未来很长时间内还会继续维持这样的步伐。目前预计全球有 34 亿网民,数量已接近全球人口总数的一半。随着另一半人口开始上网,Web 技术将再一次遭遇自己最大的宿敌:浏览器的支持。目前大部分新晋网民居住在新兴市场国家,甚至第三世界国家,他们不可能使用装有 Chrome 53 的全新 Macbook 上网。如果够幸运,他们使用的可能也仅仅是运行老版 Android 浏览器的三星 Galaxy S2 手机。

这就给 Web 开发者造成了另一个问题:如何让自己的网站能被这些浏览器不支持最新功能,并且网速不快的网民顺利访问。很多企业已经因为类似这样的问题错失了大量潜在用户。据估计到 2020 年,印度将有另外 3.5 亿人开始上网,美国人口总数都没这么多。

从此往后

为了拉拢这些新用户,网站需要变得比以往任何时候更轻巧,更易于访问。虽然算不上一个网站,但 YouTube Go 就是个不错的例子,这是一种轻量级版本的 YouTube,专为诸如印度等国家网速不够快的用户打造。你可以关注一下他们是如何通过短时间内进行的一些小幅改动对自己的应用进行优化,使其更容易被网速不高的用户所使用的。这一过程中最难的部分是如何在自己无法获得切身体会的前提下,发现应用中需要改动的部分,并决定具体该如何改动。谷歌 CEO Sundar Pichai 最近曾提到“对谷歌来说,解决诸如印度用户遇到的此类 [问题] 甚至让谷歌自己得到了创新灵感”,毕竟有些时候少就是多(Less is more)。因此我认为 React 在全球采用率方面无法实现 jQuery 那样的高度,不是因为 React 不够好,而是因为目前并不需要它。

针对未来的想法

有件事是确定的:Web 技术还会继续发展。Web 是一种依然在不断扩张的数字化领域,已在我们每个人的生活中占据了越来越大的比重。对于零零后(L 世代)来说,Web 已经不仅仅是一种技术创新,而成了自己身份的一部分。下一场战争将以 Web 为战场,下一次革命将发生在 Web 上,自由世界的下一任领袖将从现在的 Web 中评选而来。然而 Web 最令人称道的地方在于它是对所有人开放的。Web 不归任何人所拥有,或换句话说,任何人都是 Web 的主人。但并非所有人都行使了自己的主人翁权利。

也许从今往后的某一天,文盲和非文盲之间的差别不再看文字的运用能力,而是看是否会写代码(书写),或至少能读懂代码(阅读)。那么多人严重依赖自己哪怕连最浅显的理解都不具备的东西,这件事想想就让人感觉恐怖。正如 Steve Jobs 曾经说过的:“在网上,哪怕全球最小的公司看起来也和最大规模的公司一样大”,这句话直到今天依然是真理。Web 比以往任何时候具备更多的潜力。随着越来越多的逻辑开始包含在客户端,随着 JavaScript 成为 Web 上的通用语言,你也需要想方设法保护这些网站,因为 Web 中也将出现越来越多的威胁。

Jscrambler 提供了一种运行时应用程序自保护(RASP)解决方案,该方案可为客户端 Web 应用程序提供有效的保护,防范运行时攻击。在该解决方案的帮助下,用户的 Web 应用程序可通过针对 JavaScript 量身打造的反调试和反篡改技术(均为流行的应用程序保护方法)自我防护并检测篡改。

作者 Niels Klom 阅读英文原文 The Web Is Not Tomorrow But Today


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-11-15 16:403329
用户头像

发布了 283 篇内容, 共 101.6 次阅读, 收获喜欢 61 次。

关注

评论

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

企业成功部署SD-WAN的七个关键要点

Ogcloud

网络 SD-WAN 企业网络

腾讯云 Elasticsearch 新篇章 - 存算分离+读写分离+查询/IO并行化, 助力日志/搜索领域降本增效

腾讯云大数据

ES

5分钟搞定vue3函数式弹窗

不在线第一只蜗牛

Java Vue 函数式

年度回顾 | 2023年,云起无垠的开拓与创新

云起无垠

软件测试/测试开发/全日制/测试管理丨后端接口文档管理Swagger

测试人

软件测试

跨境电商卖家都在用的海外云手机

Ogcloud

云手机 海外云手机 跨境电商云手机

基于“小数据”的机器学习

快乐非自愿限量之名

人工智能 机器学习 AI 人工智能技术

创建service后,kubernetes会发生什么

华为云开发者联盟

Kubernetes 云原生 后端 华为云 华为云开发者联盟

TikTok云手机:突破传统社媒营销方式的黑科技

Ogcloud

TikTok 云手机 海外云手机

一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库

不在线第一只蜗牛

数据库 nosql .net

软件测试/测试开发/全日制 |利用ChatGPT自动生成自动化测试脚本

测吧(北京)科技有限公司

测试

软件测试/测试开发/全日制/测试管理丨ORM中间件 SQLAlchemy

测试人

软件测试

数据交付变革:研发到产运自助化的转型之路

百度Geek说

大数据 数据分析 BI 分析工具 企业号 1 月 PK 榜 数据仓模

谷歌SEO秘籍:On-Page seo开启网站突破之门

九凌网络

玩转TypeScript--openInula中的TypeScript实践(第一篇)

openInula

typescript 前端 Web 开发 前端框架

聚道云软件连接器助力某品牌管理有限公司实现有赞对接三联

聚道云软件连接器

案例分享

尊嘟假嘟?三行代码提升接口性能600倍

EquatorCoco

MySQL 接口

怎么看待存在争议的低代码?

高端章鱼哥

软件开发 低代码 JNPF

EVE-NG初次启动及WEB客户端访问

小魏写代码

左耳听风 - 做正确的事,等着被“开除”「读书打卡 day 04」

Java 工程师蔡姬

读书笔记 程序员 读书 职业发展 左耳朵耗子

荣登榜首,天翼云位列专属云容器服务市场第一!

天翼云开发者社区

云计算 容器服务

软件测试/测试开发/全日制/测试管理丨前端框架Vue

测试人

软件测试

揭秘关键指标稳定币供应比率(SSR):它如何影响你的投资?

Footprint Analytics

区块链 加密货币 稳定币

软件测试/测试开发/全日制/测试管理丨RESTX框架

测试人

软件测试

面试官:单例Bean一定不安全吗?实际工作中如何处理此问题?

王磊

Java 面试

飞管飞控系统仿真应用探究与浅析

DevOps和数字孪生

飞管飞控

国内有哪些比较好用的低代码开发平台?

互联网工科生

软件开发 低代码开发平台 JNPF

中国电信天翼云位列云数据库领导者象限!

天翼云开发者社区

数据库 云计算 大数据

软件测试/测试开发/全日制 |Python全栈开发:实践容器化部署与微服务架构

测吧(北京)科技有限公司

测试

阿里云实时计算企业级状态存储引擎 Gemini 技术解读

Apache Flink

聚道云软件连接器助力企业实现有赞商城与金蝶云星空系统无缝对接

聚道云软件连接器

案例分享

Web不是未来会赢,而是已经赢了_语言 & 开发_Niels Klom_InfoQ精选文章