HyperCard

维基百科,自由的百科全书
跳转到导航 跳转到搜索
HyperCard
File:Logo of Apple HyperCard.svg
原作者比尔·艾金森英语Bill Atkinson
开发者苹果公司(以前称苹果电脑公司)
首次发布1987年,​39年前​(1987[1]
最终版本2.4.1(1998年,​28年前​(1998
源代码库
  • {{URL|example.com|可选的显示文本}}
Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
引擎
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    类型超媒体软件开发
    许可协议专有软件

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

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

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

    简介[编辑]

    设计[编辑]

    File:Apple Macintosh SE-30 computer (1989) clear background.png
    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]JavaScript则是受到HyperTalk的启发[10]。尽管HyperCard堆栈不支持互联网连线,但至1988年,已有至少300个堆栈可于商业网络CompuServe公开下载,而当时该网络尚未与正式的互联网相连。该系统可将用户电脑中的电话号码进行链接,并透过较低成本的Hyperdialer硬件设备,在不使用调制解调器的情况下拨打电话[11]

    在此意义上,HyperCard与万维网相似,皆透过超链接建构以关系为基础的信息浏览方式,尽管HyperCard并非基于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
    10. ^ Dr. Axel Rauschmayer, Speaking JavaScript: An In-Depth Guide for Programmers 互联网档案馆存档,存档日期December 26, 2018,. (O'Reilly, 2014)
    11. ^ Greene, Denise; Greene, Doug. HyperCard:The First Eight Months. InfoWorld. Vol. 10 no. 15. 11 April 1988: 37.