HyperCard是一套为苹果Mac和Apple IIGS电脑开发的应用程序编程工具。在万维网出现之前,它是最成功的超媒体系统之一[注 1]

HyperCard
原作者比尔·艾金森英语Bill Atkinson
开发者苹果公司(以前称苹果电脑公司)
首次发布1987年,​37年前​(1987[1]
最终版本2.4.1(1998年,​26年前​(1998
类型超媒体软件开发
许可协议专有软件

HyperCard融合了数据库功能和一套图形化、可扩展、可编辑的接口,同时还包括一种名叫HyperTalk的编程语言,用来操控数据和接口。简单的窗体形式接口,数据库功能,容易上手的编程功能——这些特点令HyperCard在各种场合得到了广泛运用。有些用户用HyperCard进行快速应用程序开发,有些用它来构建无需数据库的交互程序、指令系统,或是设计各种展示场景。HyperCard启发了沃德·坎宁安发展出Wiki[2][3][4]

HyperCard于1987年发布,售价49.95美元。当年所有新的Mac电脑都会随机附送HyperCard[1]。2004年3月,HyperCard的销售终止,不过在那之前它已经多年未被更新。

简介

设计

 
Apple Macintosh SE/30是运行HyperCard程序的电脑其中之一[5]

HyperCard的设计概念源于“一‘叠’虚拟‘卡片’”。卡片中包含数据,每张卡片中有几件交互对象,包括文字框,复选框(checkbox),按钮和其它的常见图形接口元素。用户通过内置的导航系统、强大的搜索功能或是自己写的脚本去翻动一张张卡片,实现对整叠卡片的“浏览”[6]

用户可以新建一叠卡片,也可以向现有的一叠增添新卡片。HyperCard的交互排版引擎可让用户以简单的拖拽操作为卡片添加图形接口元素。此外,HyperCard还包括被称作“背景”(Background)的卡片模板。创建新卡片时可以将这些背景卡片中的对象一次性全部拷贝到新卡片中,如此,便可方便地创建一叠拥有共同版式和功能的卡片。这套排版引擎在概念上与当年多数快速应用程序开发环境(例如Borland DelphiVisual Basic以及Visual Studio)中的“form”类似。

HyperTalk

HyperTalk是HyperCard内置的面向对象的编程语言。对象存在于一个消息路径层级当中,可以用户或系统生成的信息(例如定时器)触发。每个对象都会继承它们上面的层级的属性。HyperCard环境决定了HyperTalk对象的类,但用户也可以通过外部模块添加新类。HyperTalk的语法接近自然语言,故容易上手,可读性也较高。HyperTalk的代码被称作“脚本”(scripts),对于编程新手,这个词听上去比较不会让人害怕。

历史

HyperCard的创造者是比尔·艾金森英语Bill Atkinson。开发工作始于1985年,最初的名字叫WildCard。1986年,Dan Winkler开始写HyperTalk,同时由于商标注册的冲突,产品的名字改为HyperCard。1987年8月,HyperCard发布。根据当时的约定,艾金森愿意将HyperCard交给苹果发布,条件是所有Mac必须随机附送。苹果把发布HyperCard的时间定在了那一年波士顿的Macworld大会,以获取最高的曝光率。HyperCard一夜爆红。很多从来不觉得自己能学会编程的人开始用它做各种自动化和原型设计工作,这一点连它的创造者都感到惊讶。

苹果似乎一直搞不清楚HyperCard的目标市场和目标用户。项目经理发现公司内外都有很多人用它。各种错误报告和功能建议从四面八方涌来,由此可知用户群之广泛。由于HyperCard随Mac附送,公司内部不确定是否应该投入太多资源去改进它。苹果以及HyperCard的主力开发者很清楚,这套软件为用户赋予了非常强大的能力,可能会影响苹果自己的盒装软件的销量[7]

应用实例

HyperCard推出后被用来进行各种超文本开发或艺术创作。在PowerPoint出现之前,HyperCard经常被用来做讲演时的视觉辅助材料。人们用HyperCard开发过简单的数据库,冒险类游戏,以及教学辅助工具。它也被用来设计软件原型,有时甚至一个软件的1.0版本都是用它做的。在苹果公司内部,QuickTime团队是HyperCard的最主要用户之一。

不少商业软件都是用HyperCard写成,最有名的或许是交互游戏神秘岛的第一个版本[8],Voyager Company的多媒体电子书,以及贝多芬《第九交响乐》、披头士《A Hard Day's Night》的多媒体CD-ROM。

影响

透过对罗伯特·卡里奥(协助蒂姆·伯纳斯-李开发第一个网页浏览器)的影响,HyperCard在1990年底影响了万维网的发展[9]。尽管HyperCard并没有在互联网上运行,到1988年,至少有300个卡片堆栈可以从商用CompuServe网络(尚未连接到官方互联网)上公开下载,系统可以将用户电脑上的电话号码连接在一起并使其能够在没有调制解调器的情况下拨号[10]。从某种意义上来说,就像万维网一样,它确实形成了一个类似于大脑的基于关系或链接的信息浏览体验,尽管不是透过TCP/IP协议进行远程操作。像万维网一样,它也允许连接许多不同类型的媒体。

类似系统

注释

  1. ^ HyperCard和万维网的最重要区别在于前者的链接功能只能在本机进行。

参考文献

  1. ^ 1.0 1.1 Hypercard – How About New Mac Owners, Mac GUI, [2017-04-22], (原始内容存档于2021-02-24) 
  2. ^ Wiki History, C2 (wiki), [2017-04-23], (原始内容存档于2002-06-21) 
  3. ^ Bruning, Kim, Wikinewsie discusses Wikimania (Interview) 
  4. ^ Cunningham, Ward; Gag, John, An Evening in Conversation with the Wiki Inventor, Video, Google, [2017-04-23], (原始内容存档于2007-05-07) 
  5. ^ USA, Jeff Keyzer from Austin, TX, Apple Macintosh SE/30, 2011-01-07 [2015-11-16], (原始内容存档于2015-11-17) 
  6. ^ "A Hypercard Primer"页面存档备份,存于互联网档案馆), InfoWorld, November 6, 1989, p. S3 (sidebar)
  7. ^ Adams, Douglas. Frank the Vandal. MacWorld. Pan MacMillan. 2002 [1989] [2017-04-23]. (原始内容存档于2010-12-16).  参数|newspaper=与模板{{cite web}}不匹配(建议改用{{cite news}}|website=) (帮助)
  8. ^ Breen, Christopher. A Spectacle Not To Be Myst. Computer Gaming World. December 1993: 114, 116 [29 March 2016]. (原始内容存档于2018-07-02). 
  9. ^ People involved in the WorldWideWeb project. [2017-11-18]. (原始内容存档于2017-11-20). 
  10. ^ HyperCard:The First Eight Months页面存档备份,存于互联网档案馆), InfoWorld, 11 Apr 1988, page 37