即刻App年轻人的同好社区
下载
App内打开
dexteryy
1月前
作者的「Web情结」似乎出自对Web的误解,以为Web的意义是跨平台和轻量,把PWA等同于IWA(注释见末尾)。实际上一个应用要不要完全基于标准Web技术、让自己受限于浏览器引擎的沙箱,完全取决于它对以下任一Web独有特性有没有刚需:

1. 免安装,即开即用

2. 用完即抛,用途是基于特定场景/上下文的

3. 可通过URL分享应用内部的各种局部或状态——意味着应用没有单一入口和固定使用路径,是天然unbundling的,应用内的内容和功能(包括应用状态的特定组合),都可以直达,可以结合到特定场景/上下文里。更进一步,这些URL还可以被普通用户自由混搭到其他UGC里,或被专业开发者直接作为Open API来使用

4. 应用不是静态、固定、有限的内容/功能,而是根据不同上下文(除了「千人千面」,也包括场景的不同、云端数据的不同、时间线位置的不同,等等)而动态变化、无限延伸/生长的

5. 跟local first相反,希望成为cloud first的应用,不但强依赖只能存在于云端的海量数据或网络效应,还希望消除用户使用的摩擦(比如完全消除「文件」的概念)

> 具体解释见我之前写的《重新理解Web》,链接见末尾

只要对以上任一特性有刚需、能发挥出它们的能力、能充分利用它们获取到其中的收益,那么即使Web API有缺失、前沿技术有不确定性、沙箱环境中的解决方案需要折腾、在仅有low-level API的情况下很多东西要自研,都无法阻止这个应用成为完全标准的Web App/网站、可以在各种浏览器里直接运行而不是必须先下载安装。因为产品层面别无选择。

Web生态里的很多技术,其实都来自于这样的折腾/自研过程,是这些产品的副产物。

换句话说,Web技术之所以强大、多样、日新月异,正是因为普遍、刚性的市场需求和产品的持续推动。

反过来当你觉得Web技术在某些时间段或某些业务领域里发展迟缓、问题一直存在,背后原因就是还没有足够的市场需求和产品来提供发展或重构的动力(包括对已有技术架构或业务形态做费时费力的变动)。

技术层面的瓶颈,几乎都是因为解决方案要局限在一个小范围内,不能动范围外的东西(比如不能加人力和延长项目排期、不能改可用API、不能改平台架构、不能改产品需求)。一旦范围外——市场环境发生变化(比如出现新平台、新应用形态,比如某类客户端需求突然加强),一些老生常谈的瓶颈问题会很快迎刃而解

技术选型,乃至每种技术的诞生发展演变,本质上都来自市场需求和对应的产品设计要求。技术实践中要小心别反过来,让技术选型成为出发点,脱离了产品层面的根源,反过来限制或扭曲产品设计。

> IWA (Isolated Web App): github.com
> 重新理解Web:zhuanlan.zhihu.com
02

来自圈子

圈子图片

JitHub程序员

383283人已经加入