• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#交互功能的演化

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)

题记:Miguel de Icaza在最近发表的一篇博文中畅谈了Mono及其相关产品中的C#交互特性的演化情况。

早期

在2008年,Miguel他们在Mono中引入了一个C# Shell程序(仅有命令行)。在实现这个交互Shell的过程,Mono为.NET实现了大量有用的命令行编辑API,也促进了Mono自己的编译器即服务特性的开发。几个月后,为这套Shell添加了一个UI界面。如下图所示:

并且还加入了plot(绘图)命令:

Xamarin时代

与此同时,在Xamarin Studio了中也集成了类似功能,即Sketches

这一工具的诞生是源于,使用Xamarin的开发人员需要的是一个全功能的C# REPL(Read-Eval-Print Loop,交互式执行环境),以便能够及时尝试相关的代码。由此他们引入了一个称之为Inspector的功能(这一个功能原计划是用来作为调试器辅助工具的)。Inspector可以附加到正在运行中的Android/iOS/WPF线程中。也实现了一些后端功能来提供运行应用程序的可视展示:

这个工具的交互界面是用HTML Canvas实现,从而更容易添加很多酷炫的可视化效果。

目前这个工具底层改用Roslyn来实现代码的动态编译了,效果就更加好了:

Continuous的出现

Frank Krueger为了在iOS中实现编译器即服务,从而编写了Continuous,这是一个Xamarin Studio和Visual Studio的插件。利用这个插件,你无需额外使用其他工具,就可以编辑代码实时看到iOS程序的效果(下面的视频如果看不到,直接访问视频文件地址:https://pbs.twimg.com/tweet_video/CXb1RaBU0AAEldo.mp4):

辉煌的未来

目前,Miguel他们正在使用一个强大的HTML渲染引擎来显示结果,并且升级了编译器引擎。他们下一步工作是把这个C#交互环境做的更加强大。比如:

编者注:其实在VS2015 Update1中已经引入了一个C#交互窗口,可以实现全功能的REPL环境。

这篇博文的地址在:http://tirania.org/blog/archive/2016/Feb-17.html


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#解决字符串中空格的八大方法.发布时间:2022-07-14
下一篇:
c++stlnth_element原理解析发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap