HyperCard
HyperCard是一套为苹果Mac和Apple IIGS电脑开发的应用程序和编程工具。在万维网出现之前,它是最成功的超媒体系统之一[注 1]。
原作者 | 比尔·艾金森 |
---|---|
开发者 | 苹果公司(以前称苹果电脑公司) |
首次发布 | 1987年[1] |
最终版本 | 2.4.1(1998年 | )
类型 | 超媒体、软体开发 |
许可协议 | 专有软体 |
HyperCard融合了数据库功能和一套图形化、可扩展、可编辑的介面,同时还包括一种名叫HyperTalk的编程语言,用来操控数据和介面。简单的表单形式介面,数据库功能,容易上手的编程功能——这些特点令HyperCard在各种场合得到了广泛运用。有些用户用HyperCard进行快速应用程式开发,有些用它来构建无需数据库的互动程序、指令系统,或是设计各种展示场景。HyperCard启发了沃德·坎宁安发展出Wiki[2][3][4]。
HyperCard于1987年发布,售价49.95美元。当年所有新的Mac电脑都会随机附送HyperCard[1]。2004年3月,HyperCard的销售终止,不过在那之前它已经多年未被更新。
简介
设计
HyperCard的设计概念源于“一‘叠’虚拟‘卡片’”。卡片中包含数据,每张卡片中有几件互动物件,包括文字框,复选框(checkbox),按钮和其它的常见图形介面元素。用户通过内建的导航系统、强大的搜索功能或是自己写的脚本去翻动一张张卡片,实现对整叠卡片的“浏览”[6]。
用户可以新建一叠卡片,也可以向现有的一叠增添新卡片。HyperCard的互动排版引擎可让用户以简单的拖拽操作为卡片添加图形介面元素。此外,HyperCard还包括被称作“背景”(Background)的卡片模板。创建新卡片时可以将这些背景卡片中的物件一次性全部拷贝到新卡片中,如此,便可方便地创建一叠拥有共同版式和功能的卡片。这套排版引擎在概念上与当年多数快速应用程式开发环境(例如Borland Delphi、 Visual Basic以及Visual Studio)中的“form”类似。
HyperTalk
HyperTalk是HyperCard内置的面向对象的编程语言。对象存在于一个讯息路径层级当中,可以用户或系统生成的信息(例如定时器)触发。每个对象都会继承它们上面的层级的属性。HyperCard环境决定了HyperTalk对象的类,但用户也可以通过外部模块添加新类。HyperTalk的语法接近自然语言,故容易上手,可读性也较高。HyperTalk的代码被称作“脚本”(scripts),对于编程新手,这个词听上去比较不会让人害怕。
历史
HyperCard的创造者是比尔·艾金森。开发工作始于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协议进行远端操作。像全球资讯网一样,它也允许连接许多不同类型的媒体。
类似系统
- HyperStudio(页面存档备份,存于互联网档案馆):类似产品,教育者爱用。
- PythonCard(页面存档备份,存于互联网档案馆):Python写的HyperCard。开放原始码。
- SuperCard(页面存档备份,存于互联网档案馆):早期的HyperCard克隆。支援目前Mac功能以及多媒体。可汇入HyperCard堆叠。
注释
- ^ HyperCard和万维网的最重要区别在于前者的连结功能只能在本机进行。
参考文献
- ^ 1.0 1.1 Hypercard – How About New Mac Owners, Mac GUI, [2017-04-22], (原始内容存档于2021-02-24)
- ^ Wiki History, C2 (wiki), [2017-04-23], (原始内容存档于2002-06-21)
- ^ Bruning, Kim, Wikinewsie discusses Wikimania (Interview)
- ^ Cunningham, Ward; Gag, John, An Evening in Conversation with the Wiki Inventor, Video, Google, [2017-04-23], (原始内容存档于2007-05-07)
- ^ USA, Jeff Keyzer from Austin, TX, Apple Macintosh SE/30, 2011-01-07 [2015-11-16], (原始内容存档于2015-11-17)
- ^ "A Hypercard Primer" (页面存档备份,存于互联网档案馆), InfoWorld, November 6, 1989, p. S3 (sidebar)
- ^ Adams, Douglas. Frank the Vandal. MacWorld. Pan MacMillan. 2002 [1989] [2017-04-23]. (原始内容存档于2010-12-16). 参数
|newspaper=
与模板{{cite web}}
不匹配(建议改用{{cite news}}
或|website=
) (帮助) - ^ Breen, Christopher. A Spectacle Not To Be Myst. Computer Gaming World. December 1993: 114, 116 [29 March 2016]. (原始内容存档于2018-07-02).
- ^ People involved in the WorldWideWeb project. [2017-11-18]. (原始内容存档于2017-11-20).
- ^ HyperCard:The First Eight Months (页面存档备份,存于互联网档案馆), InfoWorld, 11 Apr 1988, page 37