写点什么

微软生物学基金会发布 Mono 兼容性报告

  • 2010-08-14
  • 本文字数:1050 字

    阅读完需:约 3 分钟

微软生物学基金会称自己是个“语言中立的生物信息学工具集,是微软.NET Framework 的扩展,最初面向基因组学领域的研究”。目前,它针对常见的生物信息学文件格式实现了一系列解析器;操纵 DNA、RNA 以及蛋白质序列的一系列算法;一套生物学 Web Services 连接器,比如 NCBI BLAST。

虽然微软研究院保证说这些工具会兼容于第三方厂商,但人事问题阻碍了他们为支持 Silverlight 与 Mono 而制订的重构计划。 Michael Zyskowski 写到

在 MBF 的开发过程中,我们决定使用.NET 4.0,尤其是通过 Parallel Extensions 在序列比对与装配时充分发挥多核计算机的能量。SL4 的功能并不是那么容易搞懂,最后我们选择充分发挥.NET 4 特性的优势而不是像 Mono 或 SL4 这种只关注某一部分特性的框架。我们打算将框架重构为一个面向 MBF v1 各个版本的子程序集,进而实现 SL4 的兼容性(还有.NET 4.0 Client Profile 子集)。 但遗憾的是,过去几个月,有几个核心开发者离开了我们,因此我们不得不做出妥协。其中一个决定就是将库重构为 Client Profile、Silverlight4 与完整的.NET 4.0 程序集的计划推后。这是继 6 月份 MBF v1 最终版发布后我们所面临的第一要务。但我们希望社区能够继续探究、实现原型、甚至提交代码来完成这个目标。该项目的美好之处在于我们希望社区能够促进平台的不断发展,不必再依赖微软就能实现这一切,这非常重要。

虽然还需要进行很多测试,但由 Mono Migration Analyzer 所检测出的兼容性问题已经非常少了。具体问题有:

  • 有两个地方调用了 CredentialCache.DefaultCredentials 。它只用于 NTLM、协商以及基于 Kerberos 的认证。这样,如果没有调用的话就可以忽略掉了。但如果需要他们,目前还没有什么好的解决方法。
  • Assembly.GetName(Boolean) 调用了 4 次,在对程序集进行 shadow copy 时修改 Assembly.CodeBase 的工作是很无聊的事情。
  • 与安全相关的另一个特性是来自于 Windows Communication Foundation 的 HttpTransportSecurity.ClientCredentialType 。由于它只用于通过 WCF 调用 Web Services,因此在 Mono 赶上来时需要使用其他的 Web Services 层。
  • 在一个扩展包中对 Win32 函数 GetTickCount 调用了多次。它仅仅会返回自系统上一次启动以来所经历的秒数,因此很奇怪 Mono 没有为 Linux 与 OS X 实现一个转换层。

总而言之,实现 Mono 版本的工作量并不太大。但遗憾的是,实现 Silverlight 版本就不那么轻松了,因为它与.NET 4.0 相差太多,最终也不会实现完全的兼容性。

查看英文原文: Mono Compatibility Report for Microsoft Biology Foundation

2010-08-14 13:191575
用户头像

发布了 88 篇内容, 共 273.9 次阅读, 收获喜欢 9 次。

关注

评论

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

踩准时钟节拍、玩转时间转换,鸿蒙轻内核时间管理有妙招

华为云开发者联盟

鸿蒙 时间管理 计数器 时间转换 计时

详解浏览器跨域访问的几种办法

华为云开发者联盟

安全 浏览器 跨域 WEB安全 跨域访问

华云大咖说 | 安超OS全面升级 最新亮点解密

华云数据

C 语言数据结构的封装方法

实力程序员

C++多线程强制终止

华为云开发者联盟

c++ 安全 线程 多线程 可信

傲腾持久内存如何为数据赋能,加速应用落地?

白玉兰开源

人工智能 英特尔 傲腾

记一次K8s排错实战

雪雷

k8s 6月日更

5分钟速读之Rust权威指南(十六)

wzx

rust

react源码解析5.jsx&核心api

全栈潇晨

React React Hooks

如履薄冰--亚马逊直运系统重构实录

蔡超

软件架构 软件重构 软件自动化测试

分库分表 vs NewSQL 数据库

xcbeyond

分库分表 6月日更

《开源 PassJava》1、项目介绍

悟空聊架构

开源 面试 刷题 spring cloud alibaba 6月日更

ETL工程师必看!超实用的任务优化与断点执行方案

敏捷调度TASKCTL

大数据 ETL算法 ETL ETL任务 ETL系统

音视频学习--弱网对抗技术相关实践

Fenngton

音视频 网络 视频编解码 弱网下的极限实时视频通信 实时视频

PMP-项目管理标准

索隆

pmp 6月日更

Dubbo 线程池模型

青年IT男

dubbo

【通俗易懂】JWT-使用的可能正确姿势

蛋先生DX

JWT 6月日更

裕民银行 x mPaaS | 移动应用“适老化”改造,可不止是字体变大

蚂蚁集团移动开发平台 mPaaS

移动开发 mPaaS APP开发

ARTS--week 10 补打卡

steve_lee

5W1H聊开源之What——开源是什么?

禅道项目管理

开源 软件 开发

【Vue2.x 源码学习】第三篇 - 对象的单层劫持

Brave

源码 vue2 6月日更

超超超超级详细的多边形游戏问题分析(动态规划)

若尘

算法 动态规划 6月日更

有点难的知识点:Webpack Chunk 分包规则详解

范文杰

webpack 6月日更

6000年,看懂了「硬核山东」!

云计算

【Flutter 专题】113 图解自定义 ACEPieWidget 饼状图 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

anyRTC Web SDK 实现音视频呼叫功能

anyRTC开发者

音视频 WebRTC RTC sdk

亮相Google I/O,字节跳动是这样应用Flutter的

字节跳动技术团队

最近打算重新写一遍爬虫“指北”

IT蜗壳-Tango

IT蜗壳教学 6月日更

🏆【声网Agora】「WebRTC-如何搭建语音认证服务」

码界西柚

WebRTC RTC征文大赛 Agora 6月日更

【LeetCode】连续数组Java题解

Albert

算法 LeetCode 6月日更

Golang Testing 概览 - 基本篇

hedzr

Unit Test testing Go 语言

微软生物学基金会发布Mono兼容性报告_.NET_Jonathan Allen_InfoQ精选文章