从微软成功收购Xamarin再论编程入门
acmilan2016/02/28软件综合 IP:四川
微软收购开源.NET框架提供商Xamarin,是2016编程界开年的头等大事,随着这个巨大变化的发生,我们该如何选择编程入门的方向呢?

随着微软收购Xamarin,自然会变成微软官方的,整合入微软官方的.NET框架体系
.NET会变成可用性较高的跨平台编程框架,跨Windows、Mac、Linux、Android、iOS五大平台
原来Xamarin之所以不温不火,主要原因和免费版功能不完整,收费版价格又太贵,有密切的关系
一旦微软收购,按照微软的性格和经济实力,有很大的可能性,会将它提供给社区免费使用
而C#作为.NET框架中的旗舰编程语言,会怎样?不用脑子也能想出来,火了呗!

目前来说,我的建议是这样的:

如果大家正在学习C或C++或Java,并且要准备算法竞赛的话,建议继续坚持这个方向
但是如果是为了学习应用开发的话,我建议大家学完C/C++之后转到C#,因为它可能在不久的将来就火了

窗口编程的话,我建议从WPF(Windows演示基础)入门,为什么呢?
1.WPF是DirectUI(控件直绘式用户界面),并且使用DirectX渲染(注意这两个Direct并不是一回事),是未来窗口界面的发展方向
2.WPF与像素无关,如果你用高分屏的话,Windows窗体设计器的bug会很闹心的,使用WPF完全没有这个问题
3.WPF包含现代化的窗口布局引擎、数据驱动引擎、动画引擎等,使得程序开发工作轻松不少
4.WPF使用视觉树而不是子窗口来实现控件,可以在控件中、内容中、文档中、甚至是3D视图中显示控件,实现复杂界面成为可能
5.WPF和以后的Silverlight、Win8/8.1应用(WinRT)、Win10应用(UWP)是一脉相承的,学会WPF很容易入门这些
6.Windows窗体比WPF要简单的多,学会WPF以后也很容易降级学习Windows窗体(所以完全不用担心后路)
7.相比之后的WinRT/UWP,WPF可以生成独立exe,程序更容易发布
8.相比之后的WinRT/UWP,XAML设计器也并不会卡顿得让人难受,界面看起来也比较中规中矩
9.WPF支持3D编程,可作为3D编程的入门框架
WPF还有诸多优点,在这里我就不一一列举了,总之,现在是学习WPF的大好时机,学习了绝对不会吃亏的

至于WPF不能跨平台这个问题,其实根本就不是问题。WPF虽然只可以在Windows平台使用,但通过WPF学习到的窗口编程思想,同样可以使用在WinForms、Silverlight、UWP、Mac、Android、iOS编程中,学习WPF的努力并不会付之东流。

[修改于 8年10个月前 - 2016/02/28 23:26:47]

来自:计算机科学 / 软件综合
11
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
acmilan 作者
8年10个月前 IP:四川
810747
引用 金星凌日:
Qt支持的平台不是更多?
xamarin并不是qt那样的完全跨平台(平台无关),只是语言和基础框架跨平台而已,xamarin调用的是封装好的原生api。。。主要卖点在于没有语言学习成本,可开发原生应用,将c#影响力扩大到五大平台
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan作者
8年9个月前 修改于 8年9个月前 IP:四川
813607
引用 我说要有光:
Mono 在 Linux 上搞了这么多年的跨平台,也没见火起来过,并不相信这次微软收购了一个框架就能火了。

多年来与微软有关的争论表面上看似是信仰之争,其背后的真正逻辑实则是风险之争。微软在新技术上有很多挖坑不填的不良记录,从 COM+ ...
实际上Java也没见在Linux上多火,比较火的是Perl、Python、Ruby这些脚本语言,Java的主要用途是写网站。。。

实际上Linux上的Mono一直不瘟不火的原因是没有必要,因为适配Linux上的Mono需要学习Mono的各种限制,但是单单为Windows开发软件已经很赚钱了,没必要为Linux上的Mono再适配。。。

但是现在情况不同了,Android和iOS已经分走了大部分移动市场,Mono实际上在移动开发上应用比较广泛了,比如Unity3D就是基于Mono的跨平台游戏开发框架,差的就是Xamarin这一环,也就是跨平台UI开发,Xamarin的一个槽点就是收费过高。。。

(更正→_→我在二楼板凳的描述不完全正确,最新的XXXXXXXXXXrms方案已经是完全跨平台,调用原生API的是以前的XXXXXXXXXXdroid和XXXXXXXXXXS方案)

Xamarin被微软收购的真正意义在于,Xamarin和Mono受到了微软官方的支持,可以加入更多以前加不进去的功能,同时Xamarin也可以免费提供,这对C#以后的跨平台发展会有利。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
acmilan
进士 学者 笔友
文章
461
回复
2934
学术分
4
2009/05/30注册,5年10个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}