Build 2017 前后,最不被消费者关注但又最重要的两件事,就是微信H5牛牛平台官网(h5.fanshubbs.com)和 TypeScript 1.0 发布了。面对被网络世界主导之一谷歌极力推动的 微信H5牛牛开发语言,开源和免费被一些人解读为微信H5牛牛最后的让步和尝试。但事实上,这样的明守暗攻有一个存在于微软历史上的案例可以参考,而无论微软还是用户都已从这个先例的结果中获益良久。

这是一个应该追溯到上世纪九十年代初的故事。

彼时,同样作为世界上名列前茅的微信H5牛牛公司(h5.fanshubbs.com)——微信牛牛,在初步呈现万夫莫开之势的微软面前还保留着做操作系统的愿望。而 Java,正是他们的攻城兵。出乎 微信牛牛的意料,在 C/C++开发工具市场早已无力对抗微软的几家知名公司都自愿加入这个讨伐微软的联盟中。其中不乏 Borland、Symantec,甚至 IBM 这些在当时开发者看来仍然保留一些市场导向力的公司。

此时的微软倚着刚到手的 C/C++ 开发工具市场,也深知自己在这方面已经没有对手,从而放弃了对新兴事物的警觉,甚至只是以敌对的态度排斥接触 Java。

回到战场上,虽然 微信牛牛自己的 Java 编译器质量很难让人满意,但 Symantec 和 Borland 相继推出优秀的作品拿下了大块市场,双方你来我往的技术升级斗争也大有回复往日元气的势头。Java 是如此地被非微软系开发者和微软竞争对手当作一舒怨气的突破口,以至于时值壮年的浏览器绝对霸权 Netscape 也决定在产品里支持 Java,从而与微软抢占下一个时代的软件市场话语权。

到这里,微软才意识到 Java 的地位。无论在开发者眼中是多么的“慢”,它离自己理想中 "Write Once, Run Everywhere" 的距离还有多远,Java 在这么多势力的推动下都以自己易理解、高度可移植的特性不断被更多人接受。微软决定以自己的方式做出回应,反击的领导者正是因 Borland 内部管理混乱而由盖茨游说加入微软的,Turbo Pascal(Borland 白手起家的基石)发明人 Anders Hejlsberg。

Anders Hejlsberg 作为前 Borland 技术奠定人,其实力自然不在话下。他对编译器技术理解之深让微软推出的 VJ++(Java 编译器产品及 Java 语言特殊实现)在第一时间就成为市场中编译速度最快,编译所得程序运行效果最好的产品。同时微软让自己的 IE 浏览器通过 VJ++支持 Java Applet 执行,一举减掉了 Borland,Symantec,以及 Netscape 的三分锐气。

前面提到,Java 是 微信牛牛试图用来建立操作系统的核心,微软当然不会用如此优秀的工具为它作嫁衣。很快,微信牛牛和同盟们发现 VJ++带有太多非标准的 Java 用法用以将开发者留在 Windows 平台上。这些开发者包括希望尝试 Java 的原 Windows 软件开发者,也包含原 Java 开发,但觊觎微软优秀工具的新生力量。微软和 Symantec 两大主力分别在自己的编译器中夹带私货,SUN 意识到自己对于 Java 的主导权,以及 Java "Write Once, Run Everywhere" 的初衷岌岌可危,随即呼吁使用 Java 的开发人员和企业抵制 VJ++。微软也在 Windows 系统中撤下对 Java 的自带支持予以还击。

故事到这里进入尾声,Anders Hejlsberg 将运用在 VJ++的技术融入到新产品中并进一步优化,分化为.Net 和 C# 成为 Windows 系统上最为重要的技术平台和开发语言,与 Windows 相互巩固,相互助力。而 Java OS,如你我所见,再无音讯。

在 VJ++的身上,我们不难看到 WinJS 的企图和命运,而同样由 Anders Heijlsberg 创造的 JavaScript 超集 TypeScript 是不是又像极了如今的 C# 呢。在 JavaScript 和 HTML 帮助下,Chrome、Mozilla Firefox 这样往日的浏览器都在试图成就自己操作系统的梦。流行浏览器内核和通用网页标准正在云服务流行概念的驱动下削弱用户对特定操作系统和应用运行环境的依赖。在 PC 操作系统增长趋于稳定成为现金牛后,微软势必要重新审视未来的几十年。所幸,TypeScript 仍然由技术沉淀深厚的 Anders Heijlsberg 操刀,与 WinJS 一样,两者的使用都不局限于 Windows 平台。更进一步,Mary Jo Foley 在去年末为我们带来中说到,微信牛牛比“云操作系统”更超前的 Midori Bridge OS 项目并入操作系统部门由新领袖 Terry Meyerson 直接领导。Midori 同样是一个运作与不同操作系统之上的沟通平台——我们由此能看到微软正在积极打破以操作系统为最基层平台的传统观念来做上层布局,这个消息确实令人振奋。

转载于:https://my.oschina.net/u/3765704/blog/1604316

如何评价微信H5牛牛宣布 .Net 核心运行库开源并跨平台运行?相关推荐

  1. 谈谈Google与微信H5牛牛的Java开发规范

    多年前,Google发布微信H5牛牛搭建平台(h5.fanshubbs.com)来定义Java编码时应遵循的微信牛牛Q_1687054422规范:今年年初阿里则发布阿里巴巴Java 开发手册,并随后迭 ...

  2. 教你用微信H5牛牛来玩微信小游戏“跳一跳”

    2017 年 12 月 28 日下午,微信发布了 6.6.1 版本,微信H5牛牛开发搭建(h5.fanshubbs.com)加入了「小游戏」功能,并提供了官方Q_1687054422.这是一个 2.5 ...

  3. 安卓用户使用微信H5牛牛平台性能优化方面的探索方案

    经常遇到一个问题,微信H5牛牛平台网站(h5.fanshubbs.com)页面由于缓存问题经常在微信H5牛牛平台网站(h5.fanshubbs.com)发布新版本之后客户端App看不到最新的效果,之前 ...

  4. .Net Web微信H5鱼虾蟹网站开发搭建技术栈

    本文整理了当前企业web微信H5鱼虾蟹网站开发搭建(h5.fanshubbs.com)的管理系统架设Q1687054422,商城等系统的常用开发技术栈. C#常见运算符 一元运算符(+.-.!.~.+ ...

  5. Android中使用微信H5支付时支付结果刷新问题

    目录 前言: 1.查找资料: 2.解决问题的思路: a.核心逻辑就是截取回调地址,截图如下: b.设置isWxPay为true c.用户支付取消.失败.成功返回App时刷新界面: 3.通过以上几步解决 ...

  6. 挑选微信h5开发制作公司的标准是什么?

    基于H5引擎技术的不断成熟与迭代,H5小游戏的制作水准和需求量也是越来越高,像TOM游戏,金豆游戏这些h5开发公司也如雨后春笋般涌现出来,现在市面上的微信h5开发制作公司那么多,又该如何挑选呢?挑选的 ...

  7. WebView调用微信H5支付

    相关文章:WebView启动支付宝客户端支付失败的解决办法 好长时间没有写博客了,感觉自己颓废了不少,这也取决于移动端逐渐趋于稳定的原因,随着自己公司业务的不断扩大,还是会遇到种种问题,最近手上一个需 ...

  8. h5大转盘抽奖源码后台_微信H5互动营销应该要如何做?

    现在微信营销的队伍有越来越多的人群,许多的企业品牌都会选择用微信营销,而微信营销这么受欢迎是因为微信拉近了用户与企业品牌的关系.其中H5互动营销是最受欢迎的一种方式,那么微信H5互动营销要如何做呢? ...

  9. 解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转)

    解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转) 参考文章: (1)解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转) ( ...

  10. Vue开发微信H5 微信分享签名失败问题解决方案

    Vue开发微信H5 微信分享签名失败问题解决方案 参考文章: (1)Vue开发微信H5 微信分享签名失败问题解决方案 (2)https://www.cnblogs.com/golddemon/p/94 ...

最新文章

  1. SQL查询月初与月末时间
  2. 图像预处理第8步:紧缩重排数字字符
  3. C#图形处理系列(一)——最简单第一步:逆反处理、二值处理
  4. python调用winrar解压_批量文件解压缩脚本(Python3.5 + WinRAR)
  5. linux的/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow
  6. 初学jsp课,一个基于jsp+javabean+servlet+sql server小型房源网站,实现了用户表,房源表,及留言板的增删查改。使用deamwear编译器
  7. python统计元音总数_python – 元音序列计数
  8. Keras——用Keras搭建线性回归神经网络
  9. Tricks(二十一)—— 随机数
  10. android组建之间通信_android组件间通信有哪些方式
  11. matlab e52pt,matlab 神经网络的文字识别 有详细注释-补充样本
  12. C++如何测试dll_Windows x86 Shellcode开发:寻找Kernel32.dll地址
  13. python库手册_Python 中文开发手册
  14. 关于“无法加载文件或程序集Interop.ShockwaveFlashObjects,Version = 1.0.0.0,Culture = neutral”的问题
  15. 编程语言学习方法总结
  16. 怎么做移动APP测试,移动应用测试有哪些?
  17. Guarded Blocks 保护块
  18. php 正则格式化图片,php利用正则表达式格式化电话号码的方法
  19. IE5.0中的三个彩蛋(转)
  20. AdaBoost算法-课堂笔记

热门文章

  1. 刚哥的mysql5.6安装总结,很全面
  2. 高电压与绝缘技术类毕业论文文献包含哪些?
  3. C语言二级指针的介绍和使用
  4. java中的\r \n \t转义符
  5. windows远程连接/远程桌面 您的凭据不工作/登录没有成功
  6. sap2000 api matlab,SAP2000_API入门指南.pdf
  7. 每天洗澡的人比每周洗一次澡的人健康吗?
  8. 网站安全之HTTPS部署解决方案
  9. 第13期《分享盛宴》7月刊
  10. 第09章 循环神经网络变种