HyperCard

来自Local Chinese Wikipedia
跳转到导航 跳转到搜索

Template:NoteTA

脚本错误:没有“Infobox”这个模块。Template:Template other脚本错误:没有“Check for unknown parameters”这个模块。

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

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

HyperCard于1987年发布,售价49.95美元。当年所有新的Mac电脑都会随机附送HyperCard[4]。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的创造者是脚本错误:没有“ilh”这个模块。。开发工作始于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协定运作于远端网络上。此外,两者皆支援多种媒体类型之连结与整合。

类似系统[编辑]

注释[编辑]

Template:NoteFoot

参考文献[编辑]

  1. 脚本错误:没有“citation/CS1”这个模块。
  2. 脚本错误:没有“citation/CS1”这个模块。
  3. 脚本错误:没有“citation/CS1”这个模块。
  4. 引用错误:<ref>标签无效;未给name(名称)为macgui4987的ref(参考)提供文本
  5. 脚本错误:没有“citation/CS1”这个模块。
  6. "A Hypercard Primer" Template:Wayback, InfoWorld, November 6, 1989, p. S3 (sidebar)
  7. Template:Cite web
  8. Template:Cite news
  9. People involved in the WorldWideWeb project
  10. Dr. Axel Rauschmayer, Speaking JavaScript: An In-Depth Guide for Programmers Template:Webarchive (O'Reilly, 2014)
  11. Template:Cite magazine

脚本错误:没有“Navbox”这个模块。
引用错误:名称为“注”的group(分组)存在<ref>标签,但未找到对应的<references group="註"/>标签