InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

WPS:在网页中使用PostScript绘图

作者 赵劼 发布于 2009年8月10日

领域
语言 & 开发
主题
脚本 ,
.NET ,
JavaScript ,
RIA ,
Java
标签
HTML 5 ,
Gestalt

PostScript是由John Warnock和CharlesGeschke与1982年创建的页面描述语言,在出版行业使用广泛。而WPF项目将PostScript移植到网页中,使开发人员可以利用PostScript在网页中进行绘图。

WPS是一个使用JavaScript编写,并基于HTML 5中Canvas的PostScript和PDF解释器。因此,只有在支持HTML 5的浏览器(如最新的FireFox,Opera和Chrome)上才能使用WPS框架。

在主页上,WPS创建者提出了以下几点设想及问题

  • 作为了解和实现一种类Forth的语言,PostScript是一个不错的选择:
    • 它拥有良好的语法及基于栈的执行机制。
    • 拥有广泛的实践基础。
    • 在印刷与出版等行业中拥有长期的成功经验。
    • 它是PDF的前身。
    • 几乎所有东西(如编辑器,图片,文档)都可以大量复用。
    • 适合结合HTML 5进行试验,因为在PostScript看来,canvas只不过是另一种低端设备。
  • 简单并灵活:
    • 为快速变更,而不是纯粹的执行速度作优化。尽可能地保持代码的简小与规则。
    • 验证JavaScript是否可以作为Web平台上可移植的组装器(assembler),以及在JavaScript的基础上构建一个实际可用脚本语言是否高效可行。如果不行的话,找出其限制所在。
  • 将语言/环境的核心尽可能地缩小:
    • 可以在客户端或服务器端使用其它语言编写解析器。
    • 开放,设法可以在客户端和服务器端运行“同样的代码”。
  • 能否在Web浏览器上阅读PDF文档,并摆脱服务器端图片生成?
    • 利用OnDoc实现基于Canvas的PDF浏览及编辑功能。
  • 可能可以使用另一种后端设备,而不是HTML 5 Canvas来实现这些功能,如SVG设备。
  • 探索一种能够用于构建Web应用程序产品的Lisp解释器的可能性。

目前WPS仍处于开发过程中,还有一些限制及问题

即时出现了基于Flash和Silverlight等RIA技术的解决方案,业界也从来没有放弃过使用传统、简单且标准的技术来实现丰富的网页应用程序,其中一个重要的原因便是“即改即现”的网页开发模式。如之前报道过的微软Gestalt框架,设法引入更高效的Python和Ruby语言,来取代现有的JavaScript进行客户端网页开发。在WPS之前,Raphaël等JavaScript绘图框架也提供了客户端绘图能力。如今WPS又提出了另一种尝试,只把JavaScript作为一种组装器,通过引入一种成熟的语言形式,在页面上进行图像绘制等工作。

您更倾向于哪种方式呢?

赵劼 网名为老赵,洋名Jeffrey Zhao,写有技术博客“老赵点滴”。关注前沿技术,并致力于开源社区与微软平台的组合优化。

貌似是个错字 发表人 Ren Hongpeng 发表于
Re: 貌似是个错字 发表人 Zhao Jeffrey 发表于
mxGraph 发表人 yuan humi 发表于
  1. 返回顶部

    貌似是个错字

    发表人 Ren Hongpeng

    只有在支持HTML 5的浏览器(如最新的FireFox,Opera和Chrome)上才能使用“WPF”框架。

  2. 返回顶部

    Re: 貌似是个错字

    发表人 Zhao Jeffrey

    多谢提醒,已经修正。

  3. 返回顶部

    mxGraph

    发表人 yuan humi

    最近用mxGraph在web页面上画拓扑图,貌似挺不错的。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffery Richter:Windows 8是微软的重中之重

Jeffery Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffery Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。