查看: 2428|回复: 25

.NET Standard 2.0 在跨平台开发方面救了 VB 一命

[复制链接]

签到天数: 734 天

连续签到: 4 天

[LV.9]以坛为家II

56

主题

3269

积分

164

支持

发表于 2017-8-20 12:06:49 来自手机 | 显示全部楼层 |阅读模式

马上注册,享受积分奖励和更多功能,让您轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 tmp00000 于 2017-8-20 12:08 编辑

从这一张图可以看到, 尽管 Xamarin 对 VB 在工具上的支持度是 0,借助 .NET Standard 2.0 的力量,仍然可以用 XAML 和 VB 开发安卓应用。只不过我们需要编写一个工具用来生成 *.xaml.g.vb 文件。而且不会像之前用 PCL 的时候那样不能用 System.IO.File 这些 API。基本上 .NET Framework 能用的业务逻辑相关 API 都能用。(甚至 IL 动态生成都有,尽管它不兼容 iOS 和 .NET Native)。
现在的编程语言发展趋势是 开源(主要是编译器)和 跨平台。任何与平台紧密耦合的编程语言都有被淘汰的风险。
所以说,.NET Standard 2.0 在跨平台开发方面救了 VB 一命。


来自:B150M-D3H WIN10 PC版客户端

签到天数: 301 天

连续签到: 140 天

[LV.8]以坛为家I

16

主题

2221

积分

0

支持

发表于 2017-8-20 12:20:12 来自手机 | 显示全部楼层
准确地说是VB.net,不是VB。

来自:Lumia 950 Win10新机-智机社区客户端
3 人支持
[你知道吗]:

签到天数: 197 天

连续签到: 1 天

[LV.7]常住居民III

67

主题

1646

积分

38

支持

发表于 2017-8-20 13:35:16 来自手机 | 显示全部楼层
你是有多爱vb啊
说实话就拿dotnet来说vb,c艹都只是为了移植,这些新东西也是对于csharp优先一样。
就像一个应用不会刚刚出来就想着本地化。
iOS现在都没有zh-cn的开发者中心。
xamarin做的已经很不错了。
不过standard确实救了vb,虽然我觉得standard仅支持cs更好些(我不是幸灾乐祸,只是讨厌惯了自适应和本地化)。
fsharp是啥?能吃吗?

来自:Lumia 640 XL -智机社区客户端
2 人支持
[你知道吗]:

签到天数: 734 天

连续签到: 4 天

[LV.9]以坛为家II

56

主题

3269

积分

164

支持

 楼主| 发表于 2017-8-20 13:05:35 来自手机 | 显示全部楼层
TonyDeng 发表于 2017-8-20 12:20
准确地说是VB.net,不是VB。

微软改名部已经在 2010 年把 vb.net 重命名为 VB。只有需要区分 VB6 这种早期版本 和 更高版本的时候才用 VB.NET 表示 >=7.0 版本的 VB,用 经典 VB 表示 VB6 或更早的版本。
来自:B150M-D3H WIN10 PC版客户端
2 人支持

签到天数: 301 天

连续签到: 140 天

[LV.8]以坛为家I

16

主题

2221

积分

0

支持

发表于 2017-8-20 13:21:22 来自手机 | 显示全部楼层
tmp00000 发表于 2017-8-20 13:05
微软改名部已经在 2010 年把 vb.net 重命名为 VB。只有需要区分 VB6 这种早期版本 和 更高版本的时候才用 ...

没印象有这个重命名,不过我也不用VB。

来自:Lumia 950 Win10新机-智机社区客户端
[你知道吗]:

签到天数: 301 天

连续签到: 140 天

[LV.8]以坛为家I

16

主题

2221

积分

0

支持

发表于 2017-8-20 15:05:18 来自手机 | 显示全部楼层
其实VB和C#都是语言翻译器,最终编译的目标代码都是IL,没有区别的(反编译无法分别是什么语言出来的),因此无所谓挽救。在.net框架上,语言只用于适应原来的习惯,不是依赖平台的,.net是跨平台的。

来自:Lumia 950 Win10新机-智机社区客户端

签到天数: 734 天

连续签到: 4 天

[LV.9]以坛为家II

56

主题

3269

积分

164

支持

 楼主| 发表于 2017-8-20 20:29:18 来自手机 | 显示全部楼层
AFAN-World 发表于 2017-8-20 13:35
你是有多爱vb啊
说实话就拿dotnet来说vb,c艹都只是为了移植,这些新东西也是对于csharp优先一样。
就像一个 ...

这可是 .NET 上唯一支持隐式收缩转换并且能通过编译选项调节为强类型的编程语言。用这种语法可以写出看起来很神奇的代码 —— 读起来很像英文,并且电脑认识。
还可以做各种编程语言级别的知识产权保护。比如大公司的职员想抄袭别人的开源代码(忽略 License)。在 GitHub 搜索。他们通常不会去搜 VB。因为 VB 代码写得好的非常清晰易读(尤其是用 Select Case 代替 switch 的那种代码。比 switch 容易理解得多),写得烂的比 js fu*k 还难看(On Error Resume Next 都够让大多数人困惑的)。
来自:B150M-D3H WIN10 PC版客户端
[你知道吗]:

签到天数: 734 天

连续签到: 4 天

[LV.9]以坛为家II

56

主题

3269

积分

164

支持

 楼主| 发表于 2017-8-20 20:30:44 来自手机 | 显示全部楼层
TonyDeng 发表于 2017-8-20 15:05
其实VB和C#都是语言翻译器,最终编译的目标代码都是IL,没有区别的(反编译无法分别是什么语言出来的),因 ...

某些情况下需要选择用 VB 还是用 C#,这种选择会影响工作效率。有些代码适合用 VB 写,有些适合 C#。
来自:B150M-D3H WIN10 PC版客户端

签到天数: 734 天

连续签到: 4 天

[LV.9]以坛为家II

56

主题

3269

积分

164

支持

 楼主| 发表于 2017-8-20 20:36:27 来自手机 | 显示全部楼层
AFAN-World 发表于 2017-8-20 13:35
你是有多爱vb啊
说实话就拿dotnet来说vb,c艹都只是为了移植,这些新东西也是对于csharp优先一样。
就像一个 ...

F# 现在处境比 VB 更尴尬。.NET 语言团队大多数人认为 C# 应该是 .NET 语言的先锋,所以 VB 和 F# 被 C# 甩在后面。
但是微软一贯的作风是向后兼容,VB 比 C# 历史悠久,出于兼容考虑在 Windows 上得到了比 F# 更高的优先级。
F# 相反,在 Linux 混得不错,但是在 Windows 处境堪忧,甚至得不到 .NET Native 支持。
来自:B150M-D3H WIN10 PC版客户端
[你知道吗]:

签到天数: 734 天

连续签到: 4 天

[LV.9]以坛为家II

56

主题

3269

积分

164

支持

 楼主| 发表于 2017-8-20 20:40:56 来自手机 | 显示全部楼层
AFAN-World 发表于 2017-8-20 13:35
你是有多爱vb啊
说实话就拿dotnet来说vb,c艹都只是为了移植,这些新东西也是对于csharp优先一样。
就像一个 ...

.NET Standard 只支持一种编程语言会给 .NET 生态严重打击。很多类库虽然示例代码只有 C#,但是其实它们是用 VB 写的。很多第三方 .NET Framework 类库用 ILSpy 能看到 My 命名空间,某些可移植类库带有嵌入的 Microsoft.VisualBasic.CompilerServices 命名空间。这些是证据。
来自:B150M-D3H WIN10 PC版客户端
您需要登录后才可以回帖 登录 | 注册

本版积分规则

         

网站地图| 小黑屋|京ICP证150706号|京B2-20160045| 京公网安备11010802018258号

Powered by Discuz! X3.2 / Copyright 2010-2017 © 智机网 WFUN.COM Inc. All rights reserved.

快速回复 返回顶部 返回列表