写点什么

Moonlight 项目团队的 21 天

  • 2007-06-22
  • 本文字数:1087 字

    阅读完需:约 4 分钟

5 月底收到在巴黎举行的 ReMix07 大会的参会邀请后,Mono 团队开始夜以继日地投入到他们的 Silverlight 实现——Moonlight 项目中。用 Miguel de Icaza 自己的话 说:

5 月 31 日,除了学习 Silverlight、探究如何解码视频、对视频进行简单测试 并开始计划 之外,还没有什么可以演示的东西。

不过仅靠 Silverlight 1.0 API 做为参考,通过 Email 沟通和即时通讯工具(IRC),在三周的时间内他们就完成了下面这些工作:

6 月 14 日

  • 文本渲染(Jeff)
  • 放射变化(Sebastien)
  • 在改变子节点时 Canvas 处理附带属性
  • 实现下载工具(Downloader)(Toshok)
  • 托管下载工具(Miguel)
  • 鼠标移入 / 移出事件(Miguel)
  • 从网络上加载图片
  • Everaldo 实现内嵌型插件,而不是现在正用的 Hack

6 月 15 日

  • 文本中的 Inline 和 Run
  • 性能提升
  • 连接单个对象的鼠标事件
  • 使用 Assembly 从 XAML 文件中装载定制的对象
  • Everaldo 完成用 Javascript 修改界面的插件
  • Sebastien 开始用 Silverlight 将 Surface 导出至 Gtk#

6 月 16 日

  • XAML 依赖文件的装载(Miguel,Jackson)
  • Toshok 使用绑定沙盒优化渲染
  • Jackon 负责 hook 依赖装载
  • Jeff 重构视频引擎,使其可重用
  • C#绑定

6 月 17 日

  • Jeff 实现 VideoBrush
  • Sebastien 实现多种图像属性,可通过特定参数进行渲染
  • 更新 Event 系统,Surface 现在能以正确的顺序得到事件
  • 修复动画解析器,Surface 动画现在可正常定时
  • Everaldo 在 HTML 页面里增加对 XAML 内容的支持(在 URL 里面用#标识)
  • Jackson 实现 XAML 装载时对 x:Class 的支持

6 月 18 日

  • Rolf 实现在 Moon 类型系统和绑定里对 Nullable 类型的支持,以在 C#代码中映射 Nullable 到 C++ Nullable
  • Jeff 实现了对 VideoBrush 共享 MediaElement 的支持
  • Jeff 为 Runs 实现 Brush
  • Paolo 帮助勾画 Moonlight 的 Surface,使交互更平滑
  • Chris 和 Sebsatien 优化屏幕渲染的性能
  • Chris 提高动画和屏幕的刷新,构建基于 Xlib 的图像表面
  • Jackson 实现 Path Data 解析,Sebsatien 完成底层的架构,使得 Sam Ruby 的例子站点上的其他例子可以渲染
  • Jackson 和 Sebastien 实现由于 Path 渲染丢失的不同片段
  • Jason 实现了对 XAML 的支持

6 月 19 日

  • Javascript 桥接 DependencyObject 可用,Javascript 控制的 XAML 时钟事例现在可以运行
  • 实现集合迭代
  • 解决浏览器正常关闭问题
  • Rolf 实现一些丢失的托管绑定

项目的进展确实让人惊讶,在如此短的时间里竟然撰写了超过 3 万 8 千行代码,展示的截屏证明了这一切。在一个应用程序中内置 Moonlight,以让 Linux 应用支持 Silverlight 内容的这个想法令人惊叹。祝贺 Mono 团队,在这么短的时间内就在 Moonlight 项目上取得了如此不俗的成绩!

查看英文原文: Moonlight in 21 days

2007-06-22 08:08785

评论

发布
暂无评论
发现更多内容

Python Qt GUI设计:如何调整组件布局比例?(拓展篇—1)

不脱发的程序猿

Python PyQt GUI设计 上位机 调整组件布局比例

Spring 扩展之深入分析 InitializingBean 和 init-method

chenssy

死磕 Java 死磕 Spring

Spring 扩展之深入分析 BeanFactoryPostProcessor

chenssy

死磕 Java 死磕 Spring

Spring 扩展之深入分析 Bean 的类型转换体系

chenssy

死磕 Java 死磕 Spring

毕业设计

毛先生

什么?还在用delete删除数据《死磕MySQL系列 九》

咔咔

MySQL delete

MySQL性能测试之insert&delete【FunTester框架】

FunTester

MySQL 性能测试 测试框架 FunTester delete

打开order by的大门,一探究竟《死磕MySQL系列 十二》

咔咔

order by MySQL高级

Spring 扩展之深入分析 BeanPostProcessor

chenssy

死磕 Java 死磕 Spring

大湾区的“科创土壤学”

脑极体

手把手教你实现网页端社交应用中的@人功能:技术原理、代码示例等

JackJiang

即时通讯 IM web socket

年后跑路第一战,从Java泛型学起!

麦洛

Java Java泛型

Spring扩展之 深入分析 Aware 接口

chenssy

死磕 Java 死磕 Spring

在K8s里部署Eureka集群

xiaoboey

Kubernetes Spring Cloud Eureka Gateway 服务发现

华为云联合HarmonyOS重磅发布智联生活行业加速器

华为云开发者联盟

华为云 智联生活

为什么MySQL字符串不加引号索引失效?《死磕MySQL系列 十一》

咔咔

MySQL 索引失效

Spring 扩展之深入分析 PropertyPlaceholderConfigurer

chenssy

死磕 Java 死磕 Spring

38 K8S之CNI插件与选型

穿过生命散发芬芳

k8s 28天写作 12月日更

浅谈MySQL中的游标

麦洛

MySQL 游标

字符串可以这样加索引,你知吗?《死磕MySQL系列 七》

咔咔

MySQL 字符串 加索引

10 款你不知道的 Linux 环境下的替代工具!

JackTian

GitHub Linux 程序员 运维 命令行终端

Spring 扩展之之 PropertyPlaceholderConfigurer 的应用

chenssy

死磕 Java 死磕 Spring

Spring 扩展之深入分析 PropertyOverrideConfigurer

chenssy

死磕 Java 死磕 Spring

Spring 扩展之自定义类型转换器

chenssy

死磕 Java 死磕 Spring

作业1

施正威

低代码实现探索(七)赋能产品架构如何做定制化

零道云-混合式低代码平台

TypeScript 之 Class(上)

冴羽

JavaScript typescript 翻译 大前端

说说个人影响力

张老蔫

28天写作

无法复现的“慢”SQL《死磕MySQL系列 八》

咔咔

MySQL 慢SQL

MySQL统计总数就用count(*),别花里胡哨的《死磕MySQL系列 十》

咔咔

MySQL conut

毕业总结

毛先生

Moonlight项目团队的21天_研发效能_James Vastbinder_InfoQ精选文章