热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vb控制多文档窗体最大最小化的按钮_又一款点开即用、完全免费的「在线文档」利器:Coda

说到文档撰写与排版,我相信几乎每个人都用过MicrosoftOffice套件。得益于微软在操作系统上取得的巨大成就,MicrosoftOffice几乎成
bf7f6b9820b9499256900577ef7ecd6d.png

说到文档撰写与排版,我相信几乎每个人都用过 Microsoft Office 套件。得益于微软在操作系统上取得的巨大成就,Microsoft Office 几乎成为了办公套件的代名词。Microsoft Office 很强大,但缺点也不少。为了使用它,你最好是拥有一台装有 Windows 操作系统的电脑,需要下载 GB 体积的安装包并支付一定的费用。 此外,版本的不兼容也让人头疼,也许你已经遇到过高版本文档无法在低版本 Office 中打开,或者低版本文档在高版本 Office 中排版错落的尴尬局面。

近年来,随着云技术和 Web 技术的进步,文档工具也开始在线化。例如老牌大厂推出的 Office 365,Google Docs 等都是大众熟悉的在线(云端)文档工具。以 Office 365 为例,在线版本无需安装,且在任何操作系统中都可以打开浏览器访问使用。此外,分享和管理文档也变得更为方便,如果服务做得足够好,体验和本地应用已经趋于一致。我曾经在 Mac 上使用 Office 365 完成了近百页的论文撰写。

15751af0cfe471e1ba8891aaa1790cf7.png

除了微软等传统大厂推出的在线文档服务,许多创业公司也开始在这个领域发力。例如国内的 石墨文档,国外的 Quip,Notion 等,这些新颖的在线文档服务更在意产品的设计和体验。

今天要介绍的 Coda 同样是一款更现代化的在线文档工具,Coda 的设计和第一感觉与 Quip 和 Notion 这两款优秀的在线文档工具比较接近。所以,接下来我将结合对三款工具的使用经历,从多个方面来介绍 Coda 的使用体验。

文档管理模式

在介绍 Coda 的功能体验之前,我们先聊一聊文档的管理模式。以 Microsoft Office 为代表的办公套件在管理文档时,通常会将单类型文档独立存放。例如你新建一个 Word 文档用于撰写材料,新建 Excel 文档用于记录数据。这些文档是独立的,以平行层级的方式进行存放。事实上,大部分在线文档工具也借鉴了这一方法,例如上面提到的 Office 365、Google Docs、石墨文档,以及 Quip。

a5d248e53058f544bee4b1883e78d839.png

Notion 与众不同,其可以使用嵌套层级结构来管理文档。举例来讲,你可以在一个文本文档下方再新建一个表格文档,而表格文档下方可以继续新建其他或同类型的文档。这种模式下,文档管理更加方便,也更有逻辑层次。这种以文档管理文档的方式,使得你可以在同一个窗口中快速切换不同的文档,并且一个项目仿佛只存在一个「大文档」。

我再针对这种嵌套层级结构的易用性举一个例子。当我在撰写一篇文章时,之前一般会建立一个文件夹,然后新建 3 个文档。这三个文档分别用于存放搜集到的资料和链接,文章大纲,以及文章正文内容。当然,你可能会问为什么不将这 3 部分放在同一个文档里?我觉得这样太混乱了。

前面就是平行层级文档管理方法,如果在嵌套层级结构模式下,我只需要建立一个文档用于撰写内容,然后在其中建立不同类型的内容分别存放大纲和资料。文档间的浏览,复制都非常方便,Notion 还提供了针对整个层级文档的导出功能。

本文的主角 Coda 也采用了与 Notion 相似的方式来管理文档。你可以创建一个项目文档,然后再其中分别创建文本、表格、看板等独立的文档。与 Notion 支持多层级不同,Coda 最多只支持 2 个层级。2 个层级适用于大部分情况,当然对于重度用户和复杂项目而言,Notion 支持的更多层级的确更好一些。

ae0ff9b39d2c3ea2bde38692138b014f.png

编辑器易用性

编辑器是一款在线文档的核心功能,编辑器的体验很大程度决定了一款文档工具的整体体验。首先,我们看一下 Quip 和 Notion 这两个具有代表性的在线文档编辑器设计。

Quip 的编辑器看上去中规中矩,常用的段落样式工具均放置在顶部菜单栏中,非常直观。与此同时,当鼠标放置在文档中时,会触发段落内下拉菜单(如图),例如插入图片、视频等。相比而言,而 Notion 的编辑器设计更为激进,完全取消了顶部菜单栏,只保留了段落内的下拉菜单。

6dde823300260c795c2e60f67bfa5cf9.png

我更喜欢 Quip 的设计,原因在于 Notion 的下拉菜单实在是太长了。大量的选项集中放置在一个下拉菜单中,滑动的过程容易导致来回错过需要的选项,从而导致选择效率低下。

当然,段落内的菜单从一开始应该是为了提升效率而设计的。例如 Quip 中可以使用 @ 呼出菜单,而 Notion 则是 / 标记。如果你能记忆像 /image 这样的命令,那么就可以做到快速选择,但需要一个适应过程。

fc90a505a02c38727e449002bb4a7ccd.png

Coda 完全放弃了在段落中调出选项菜单的设计,其将常用的段落样式固定在顶部的菜单条中,更多的模块插入则同样以一个醒目的 + 号放置在菜单中。

2b819abfad415d4b78a395294fe994d4.png

当然,上面这三种不同风格的编辑器设计,我相信各有所爱。Coda 的门槛最低,但 Notion 和 Quip 可以一定程度提升效率。

设计是一方面,体验又是另一方面。整体上看,Coda 编辑器体验不如 Notion 和 Quip 细腻。例如,Coda 的编辑器竟然无法自适应居中,这就导致 Coda 在高分辨率外接显示器上使用时,右边存在巨大的「留白」。更严重的是,如此写作时脖子就会不自觉地偏向左边了,体验非常不好。在字体和段落间距等细节方面,Coda 也有进一步优化的空间。

功能模块对比

一款在线文档工具不同与本地文档编辑器,理应结合线上的特点具备更多的功能。实际上,丰富实用的功能模块也是我用来判定一款文档工具是否「现代」的特征之一。接下来,我们通过横向对比 Quip,Notion 以及本文主角 Coda 所支持的功能模块。对比时,我们不考虑插入图片、列表等基础且常用的功能,主要是对比一些在传统文档工具中不一定会有的模块。

b60f3f317622b9b482221ed84587b655.png

从上表可以看出,三者支持的功能模块都算是丰富全面。其中 Quip 支持插入调查选项和项目追踪模块,Notion 和 Coda 都不具备。表格中的常见服务指的是支持以 iframe 的方式嵌入 Youtube 视频,Twitter 或者 Google Drive 文件等第三方内容。

下面重点说一说 Coda 支持的特色功能,首先是图表。Coda 支持在文档中插入 7 种不同的图表,分别是:甘特图、条形图、饼状图、线形图、面积图、散点图和气泡图。每一种图表都支持动态编辑和可交互,非常美观。图表功能看似平常,但在大部分在线文档工具中都难觅踪影。

8850686e003bbbd4f4ca55dee7d32697.png

此外,Coda 还有两个特色功能模块 Button 和 Formula,我将这两个选项译作:快捷按钮和动态公式。

a80c0fef99203b4a07aef5af966d7617.png

其中,Button 快捷按钮支持打开超链接、点击提醒、修改数据、发送邮件等数种实用动作,甚至可以将这些动作与其他模块组件关联起来。快捷按钮支持放置在文档中的任意位置,并支持插入任意数量的按钮。举个例子,你可以通过快捷按钮来修改表格中的数据,向指定协作用户发送消息,或者快捷添加日历事项等。

473e64cd946d3b81b93a4a2b8d540ef8.png

Formula 动态公式更加强大,其提供了十余类近百余种针对数据的操作方法,涉及对数组、集合、日期等数据的操作、判断以及计算。Formula 的使用是和 Coda 文档中的功能模块紧密结合的。文档中的表格、看板、日历等内置模块,以及 Coda 支持链接的更多第三方工具均可变身为数据接口,然后与 Formula 配合使用。

举例而言,文档中有一个销售数据的表格,而段落中需要引用表格中指定数据的总和或平均值,此时你就可以使用动态公式来计算这些值并直接显示在段落中。段落中的值后续也会自动跟随表格中数值的更新而变动。此外,动态公式更强大的用法是和很多第三方服务结合在一起,例如你可以通过动态公式计算出 Google 日历中的空闲或忙碌时间等。关于动态公式、快捷按钮以及更多的第三方服务结合使用的方法,下文会进一步介绍。

Notion 实际上也提供了一个叫 Formula 的功能,但类似于 Excel 提供的函数,其只能应用于表格之中。Coda 的 Formula 操作是我目前见过的所有文档类工具中最强大的运算模块,其提供的内置 API 和第三方 API 等丰富程度,足以相当于一门简单的编程语言。你可以访问 Formula API 列表查看这些函数。

服务集成与自动化

我平常用的最多的在线文档工具是 Notion,但 Notion 有一个致命弱点,那就是基本不支持自动化,且无法与其他常用的服务进行集成。服务集成与自动化对于我而言是非常关键的,我并不希望一款文档工具中的所有内容都需要靠手动输入。支持与第三方服务集成可以很大程度提升文档内容的丰富性和使用的便捷度。

Coda 的出现让我非常兴奋,其支持与数十种常用工具集成,并将此功能命名为 Coda Packs。Coda Packs 可以同步来自第三方的服务数据,但需要和 Coda 本身的功能模块配合才能发挥最大作用。从我的使用体验来看,与 Packs 服务联系最紧密的功能模块分别是 Table 表格、Formula 动态公式以及 Button 快捷按钮。

042ec1c8ad274f5662375df4547251b2.png

首先,通过授权 Packs 中支持的服务,例如 Google 日历,GitHub,Dropbox 等,我们可以直接将数据同步到 Coda 表格中。

其他一些常用的服务列举如下:

  • Dropbox :文件列表,分享的文件和链接,修改版本等。
  • Github:仓库名称,Pull Request,Commits 和 Issues 列表等。
  • Gmail:邮件列表和内容。
  • Spotify:Top Tracks,Top Artists,New Releases 等歌单。

与表格关联的数据实际上是单向同步的过程,即从第三方服务到表格。如果你想直接通过 Coda 修改第三方服务数据,例如向 Google Calendar 中添加日历事件,或者是发送邮件,就需要用到前面提到的 Formula 动态公式以及 Button 快捷按钮。

举一个简单的例子,我们有如下所示的日程安排表格,此时可以创建一个写入 Google 日历的快捷按钮。选中 Action 中向 Google 日历添加事件的动作,结合 Formula 提供的一系列操作函数,我们可以调用表格或其他模块中的数据,并对这些数据进行组合运算以满足需要的格式。最后就可以通过快捷按钮向第三方服务新增数据了。如果你创建了多个快捷按钮,甚至可以单独创建一个总按钮一键控制其他的快捷按钮。

c62dc8bfdfaed7051340596ff4024721.png

对于向 Slack 发送消息,使用 Gmail 发送邮件等与其他服务结合的操作,实际上和上面的添加日历事件非常类似。授权对应的服务之后,结合 Formula 动态公式以及 Button 快捷按钮即可完成。

Coda Packs 目前只支持与 10 余项常见的服务集成,虽然数量看起来不多,但其中有一项特别厉害的第三方服务 Zapier。Zapier 是一款强大的自动化工具,其支持与超过 1500 项服务进行数据交换,这样就相当于 Coda 也可以与这些服务集成在一起了。

bb369469be6f503e803640dfb30e5a61.png

当 Coda 和 Zapier 结合在一起时,就变成了只有你想不到,没有做不到的事情。再加上 Coda 本身提供了开发者 API 接口,而 Zapier 同时也支持 Webhook 传递数据,Coda 就实现了最大程度的「数据自由」。

除了强大的服务集成功能,Coda 还有一个 Automations 的选项,意为自动化。该选项实际上是结合文档内的其他模块使用的。例如从第三方导入表格中的数据需要刷新,就可以设定一个以小时自动刷新的自动化规则。

8143640a95dd4cca4de18eb272393b7b.png

此外,自动化规则还可以结合快捷按钮来使用,例如某项数据发生变化,然后同时触发文档内指定的快捷按钮。总之,Automations 选项还是非常实用的。

关于 Coda 提供的服务集成和自动化相关功能,你还可以从官方提供的 Template 模版中获取应用灵感,例如使用其作 会议管理,OKRs 追踪都非常不错。

优缺点总结

至此,我们已经基本了解了 Coda 的功能和特点。接下来,我仍然结合最熟悉的 Quip 和 Notion 来对比这三款工具在多个常见维度下的优缺点。

43560140aa87157428df9a1e33ac98e1.png

作为 Notion 的付费用户,我对 Notion 是非常喜爱的。且正如上文所说,Notion 的数据非常封闭,服务集成近乎残废。此外,Notion 不支持中文搜索也让人十分抓狂。

Quip 非常适合于多人协作,免费版本基本够用,国内的访问速度很快。但 Quip 在编辑器体验,文档导出等方面有待加强。

Coda 的优势非常明显,结合强大的第三方服务集成,再加上 Button 和 Formula 功能,Coda 的自由度非常之高。但 Coda 的细节体验仍需优化,访问速度和稳定性有待加强。当然,Coda 还有一个优势是完全免费。

总之,就我个人而言,我可能还是会以 Notion 为主力,同时会在合适的场景之下使用 Quip 和 Coda,发挥各自的优势。

拓展阅读:

  • 《Notion 使用详解:来自未来的笔记协作工具》
  • 《跨平台文档协作处理:Quip》



推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • 在JavaScript中,函数没有重载的概念,如果声明了多个重名的函数,不管函数的形参个数是否一样,只有最后一个有效。如果调用函数时传入的参数个数与函数定义时的参数个数不符,会出现不同的情况。函数调用时,传入的参数个数少于函数定义时的参数个数,未传入的参数会被当做undefined处理,可能会导致错误。而传入的参数个数多于函数定义时的参数个数,多余的参数不会被使用,但不会报错。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
author-avatar
坐在河边的蚂蚁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有