0%

Techo|HTML:更现代的展示形式?

Techo| HTML:更现代的展示形式?

说明:这是一个 (不定期更新) 的新专栏,主要用于分享一些对于技术(主要是互联网)的个人看法和观点。既然是个人观点,就难免有个人的偏好(甚至是偏见),因此也欢迎不同观点的争论和反驳。

Techo = Tech + echo,谈科技,听回声


在阅读之前,请牢记一点:

以下所有,都可能是错的。

当我们谈论『现代』的时候,我们在讨论什么?

If you want to talk about something, define it first.
—— Someone I don’t know.

首先,这里的现代性(modernity)不同于文学上或者哲学意义上的现代性,技术上的现代性,更像是一个动态的与时俱进的概念,比如在互联网领域再正常不过的一件事是,十年前看起来现代的科技,现在早已过时。

但是,如果循着技术演进的路线,多少可以找寻出一点点趋势,这趋势,如果可以视为现代性的定义。

以我之见,如果回顾一下近十年技术的变迁,可以提炼出这几点大的趋势:

  • 跨平台(Cross-Platform):

    所有的操作系统,都有着相互借鉴的本能,在未来,操作系统也将不可避免地变得更加相似。而另一方面,在未来十年,随着物联网的普及,接入到互联网的设备总数将会爆炸性增长。在这种趋势下,跨平台不仅仅是一种美好的愿景,也是现实中不断膨胀的需求,同时也具备了实现的可能。以 Google 和  两个在技术领域有着深远影响的巨头为例,Google 早就推出了跨 AndroidiOS 的开发框架 Flutter,也在更进一步地尝试打通桌面端和移动端的壁垒如 Fuchsia,而  (虽然迟人一步地) 也在今年推出了打通自家产品的 Swift UIProject Catalyst。事实上,如果某一个产品只专注于某一个平台,固然可以通过深耕吸引一部分专业化用户,但在未来也难免会作茧自缚,失去一个更广阔的的市场。

  • 移动性(Portability)

    移动性是与用户使用场景息息相关的。未来的两个大的趋势:首先,随着电子设备(尤其是智能手机)在世界范围内(比如印度,非洲,东南亚)的进一步普及,接入互联网的用户群体会进一步扩大。其次,与之相辅相成的,更多的日常生活场景会转移到电子设备上完成,这也意味着对于每个用户而言,每天花费在电子设备上的时间会增加。而移动性,则意味着更低的准入门槛和更广的使用场景。原先只能在电脑上完成的工作,现在可以转移到手机上完成,未来甚至可以通过智能手表或者其他设备来完成,移动性,不只意味着这种产品的『下放』,同时也包含着这种转移中隐含的成本的降低,比如,如果在电脑上完成了一半的工作,由于要出门,能够无缝转移到手机上在地铁上继续完成。

  • 易用性(Accessibility)

    这点本身不用多说,毕竟易用性的提升是一个永恒不变的追求,只是每个人或者公司对这一点的理解和实现方式会有差异。就我个人的观察,在生产力领域,易用性的提升可能有以下表现:

    • 模块化(Modularization):模块化,更多的是一种工作的组织和管理方式。在很多时候,它意味着一种有序的,流水线式的,甚至有些机械的工作模式;而在有些时候,它可能仅仅意味着『可被批量重复生产的』。在实际中,大部分工作可能是重复的,琐碎的,甚至长远来看无意义的,而在这种时候,模块化就意味着生产力,或者更准确的说,可被保障的稳定生产力。另一个角度看,模块化的分解工作也降低了工作参与者的门槛,每个人只需要完成自己的那一部分工作(甚至可以完全不了解其他部分的工作),从而降低了对个体的技能要求。
    • 可视化(Visualization):首先要指出的一点是,可视化并不是目的,而只是一种提高生产力的手段,因此,对于少数群体而言,可视化反而会降低生产力,比如编辑器的 Vim 与 VS Code,或者文字编辑的 LaTeX 和 Word。但是,对于大多数人而言,可视化意味着一种更为直观也更为友好的交互形式,或者是更为平滑的学习曲线,以及在大多数情况下生产力的提高。同时,可视化的程度提高也与技术的进步紧密相关,比如二十年前人们可能很难想象拖拽控件来自动生成图形用户界面的代码,又有谁能说,在未来可视化编程不会成为主流呢?

拉拉杂杂说了很多,其实总结下来可能就两点:通用性易用性。而需要补充的是,某种程度上,它们与专业性是冲突的,因此,未来依然会有技术面向少数特定群体,追求高度定制化和精细分工,但也注定不会成为主流。这种专业与大众的分野,也可以算作未来的趋势之一吧。

为什么 HTML 是更现代的展示形式?

解决了如何定义现代性的问题,接下来进入今天的正题:为什么 HTML 是更现代的展示形式?

与其直接回答这个问题,倒不如先看看其他展示形式的缺点,日常中最常见的是 PPT(包括 Keynote)和 PDF(包括 LaTeX 的 Beamer)

PPT 的缺点是:

  • 兼容性差:这里的兼容性,不只是操作系统间的兼容性,也包括版本间的兼容性。大概很多人都经历过的是,在你自己的电脑上编辑完成的一版 PPT,在教室或者其他公用电脑上打开会出现各种各样的问题,最常见的如字体缺失和由此造成的显示错位和乱码等;可就算你有过这方面的准备,嵌入了字体到 PPT 中甚至还附了一份原始字体,但是更令人崩溃的是由于教室的电脑 Office 版本太低,不支持新版本的某些动态效果。而假如某天电脑不在手边想要在手机上查看(甚至仅仅是查看而不是编辑) PPT,就我个人的体验而言,还真没有几次能够与电脑上的原始效果一致。
  • 移动性极差:上面所说的不同设备间显示效果的差异是一个方面。而另一个方面是查看或者编辑 PPT 需要专门的软件。按理说在今天,大部分人的手机和电脑上都有能够打开 PPT 的 App,但是,相较于其他文档格式,PPT 无疑是相对来说不友好的那一种。而且相对来说,PPT 的文件体积也会较大一些。
  • 模版不够通用:其实 PPT 的模板功能已经足够强大,也有足够多的模板资源。这里所说的,可能是比较极端的一个方面:自动化生成。对于一个比较理工科思维而又相当懒的人来说,希望的一件事情是:如果能够仅仅输入文字内容或者大纲,就自动输出一个做好的(就算形式和排版比较简单的) PPT。而在这个方面,PPT 的模板就显得相当麻烦。

但 PPT 的优点在于:

  • 可视化编辑:这可能是 PPT 为何如此受欢迎的主要原因。对于大部分人来说,即使完全不了解 PPT 的高级功能,只是简单的拖拽和修改问题,做出一个能看的 PPT 也并不是难事。
  • 动态效果:PPT 值得称道的另一点是,内置的诸多或华丽或实用的动态效果,在此强烈安利 Office 365 或者 2019 中新增的切换动画 『平滑』。各种动画效果无疑极大拓展了展示的视觉形式,反过来,可以表达出更丰富而多样的内容。

而 PDF 则差不多是 PPT 的反面。它的优点在于

  • 兼容性好:不会因为平台不同而出现显示效果的差异
  • 移动性好:不需要额外的应用打开,标注也相对方便
  • (此点仅针对 LaTeX 的 Beamer)模版通用性好:从文字到 PDF 的生成高度自动化

相对应的缺点则在于:

  • 动态效果损失:由于 PPT 的形式限制,本身就不可能有太多的动态效果。可能 PDF 中最常见的动态效果就只有页面跳转了。
  • 不方便编辑:由于 PDF 本身即是一种导出格式,因此顶多只能进行简单的编辑,至于复杂的编辑,倒也不是不行,但是为什么要自讨苦吃呢?

因此可以总结如下:

HTML 则在一定程度上结合了两者的优点,保留了丰富的动态效果和一定的兼容性与移动性,同时编辑起来也比 PDF 容易。

目前的解决方案及局限性

在 HTML 日益复杂的今天,徒手写 HTML 已经不太可能(也不是不可以),基于其他形式的创作然后导出 HTML 是更现实的解决方式。

其中,上手最容易,也是最简单易行的一种方法是 Markdown 导出 HTML。事实上,今年以来,本公众号所有的推文排版,都是基于 Markdown 和自定义的 CSS 导出 HTML 实现的。优点很直接:简单方便,也容易形成统一的风格。缺点也很明显:没有各种花样,看久了也难免会无感。但或者,这才是排版或者说展示的本质——让人忘记形式而专注内容

好像扯远了。所以有没有一种方式能够用 markdown 导出用于展示 HTML 呢?

以下有几种可能的解决方案(限于篇幅所限不作具体介绍,只给出相关链接,):

  1. Marp (参考链接:https://sspai.com/post/55718

  1. Reveal.js(参考链接:https://sspai.com/post/40657

必须要说的是,在目前这个环境下,用 markdown 来导出 html 用于展示依然相当不成熟,只适合呈现简单内容,动态效果也不够丰富,可以作为个人业余的尝试,但不太适合作为比较正式的答辩或者展示场合。不过这并不妨碍它是一种面向未来的有益尝试,或许尝试的人多了,相关资源慢慢积累,或许会有开发者开发出一个专门的 App,或许慢慢地会有更多的人加入,也或许会有新的展示形式的出现,毕竟——

关于科技,没有人可以预料十年后的未来。