admin 管理员组文章数量: 1184232
2024年3月13日发(作者:postman是什么意思?)
科技创新导报
2015 NO.07
Science and Technology Innovation Herald
IT技术
漫谈C#程序员眼中的dot NET技术生态系统
①
朱立
(北京信息职业技术学院 北京 100018)
移动互联网时代,摘 要:虽然在移动终端市场还看不到微软多少份额,但微软的技术圈子里却一点也不安静,各种新技术、新模式、新应用纷
至沓来,让人一时眼花缭乱。该文从C#程序员的视角出发,将微软技术体系作了一个浅层的梳理,其间对部分焦点性关键词略加分析,并结合
近期动态对dot NET技术环境稍作展望。
关键词:微软技术生态系统 MVC MVVM 移动互联 C#程序员
文献标识码: 文章编号:中图分类号:G71 A 1674-098X(2015)03(a)-0050-02
自dot Net Framework面世以
来,框架支持多种开发语言的特性一
时成为软件行业内关注的焦点。然而很
快,C#成为了dot Net框架中的不二
选择。在Windows系统环境下,C#程
序员基本上生活在围绕Win Forms和
Web Forms应用程序构成的技术生态系
统中。虽然,伴随C#和Framework的成
长,其间有过一些波动,但微软的Visual
Studio IDE(Integrated Development
Environment)始终奉行“降低开发人员
工作量”的原则,以提高代码生成(注意不
只是编写)的效率。所以相比Java程序员
来讲,C#程序员的生活显然气定神闲了许
多,算得上平安幸福。然而,移动互联时代
的到来,一时让人手足无措,这种幸福生活
还能维持多久?
粉墨登场。苹果手机成为粉丝们疯狂追捧
的时尚品,谷歌以开源的安卓平台在市场上
独霸一方,智能手机以意想不到的速度开始
普及。据2014年6月统计,中国手机网民的规
模达到五亿二千七百多万人,占网民比例的
83.4%。手机网上支付和网上购物的年增长
率均在160%左右,刚刚过去的2014年“双
十一”,天猫总成交额高达571亿,其中无线
成交额达到243亿。智能终端的普及,使得
移动商务无所不在,其发展频率超过了摩尔
定律的描述……一切的一切都在表明,移
动互联网时代已经到来,手机已经开始超越
PC机成为第一大上网终端。
嗅觉异常灵敏的微软自然不会放过这
样一个巨大的市场。虽然早期的Windows
CE、Windows Mobile没有在移动互联市
场蓬勃发展的黄金时代带来太多惊喜,继
放弃Windows Phone 7之后,Windows
Phone 8也并未收获预期的市场份额,但
微软新一代掌门人纳德拉一直坚持的“三
屏一云”战略,和近两年微软在“云端”
的不菲业绩,让人不能不作这样一个猜
测——微软在与用户体验的博弈中似乎酝
酿着一场巨大的“阴谋”,一旦双方达成妥
协,移动互联市场不知又将是何格局。
市场风起云涌,身处敏感地带的程序员
们必然要经历或大或小的冲击。软件公司
对C#程序员的相关岗位划分,也开始细化
出前端、dot NET开发、移动开发、数据处
理等等,甚至在一些规模大、业务复杂的项
目中,还会把前端细分成交互、布局……但
是,对C#程序员来说,依托微软这样一位
软件巨人,看清身处的技术生态系统,还是
能闲庭信步,回复往日幸福时光的。
2 按架构划分的技术生态系统
2.1
移动互联网时代,各类应用都在向移
动平台(至少是Web方向)倾斜,曾经的Win
Forms程序及其技术架构将退居一隅(甚至
有最终淡出市场的可能)。(Web
Forms程序)将依托Web环境继续存在,
C#程序员面对的这一技术环境如表1所
示。
*.aspx是传统的微软动态网页
格式,其中包含的主要是HTML标签
和对象,需要依靠设计器
(Designer)设计编写;*.xaml可以用
于编写WPF(Windows Presentation
Foundation)、Silverlight、Win 8
Application等,是这些类型程序的典型界
面文件格式,主要包含XAML对象元素。以
上二者都是UI人员的工作对象,常用工具
1 移动互联网时代
2000年前后,信息化建设开始起步,经
过近15年时间的酝酿,大量积累的需求催生
了宽带、物联网、云、大数据等一系列新概
念带来的新技术、新模式、新应用。3G网形
成的冲击还余波未散,4G、5G网已经纷纷
MVCWebApp
(MVP)
云
(
WindowsAzure
)
互联网
+
移动互联网
主要包括微软的Microsoft Expression
设计套装,如Expression Web(所见即
所得的网站设计器与HTML编辑器)、
Expression Design(点阵与矢量图像
编辑器)、Expression Blend(用于可
视化制作WPF及Silverlight、Win 8
Application等应用程序的用户界面)等。
MVVMWPF/Silverlight/WindowsPhoneApp
图1 互联网+移动互联网模型
表1 技术环境
对C#程序员来讲,这一环境中的主
要工作文件是*.文件类型,也就
工作性质
UI
Coding
文件格式
*.aspx(HTML, Object)
*.xaml(XAML)
*.
工作对象
Designer
WPF、Silverlight、Win8 App……
code
设计、开发环境
Microsoft Expression(Web、Design、Blend)
Visual Studio
①作者简介:朱立(1970,3—),北京,女,教研组长,副教授,北京信息职业技术学院,软件技术,高职教育教研。
50
科技创新导报
Science and Technology Innovation Herald
Copyright©博看网 . All Rights Reserved.
IT技术
是*.xaml文件的代码隐藏文件,是程序
员Coding的地方,主要工具是Microsoft
Visual Studio(2012以上版本),与
Microsoft Expression代码兼容。
2.2 MVC和MVVM
近两年来,微软在云端的收获颇丰。在
C#程序员眼里,可以把它看作Windows
Azure。Windows Azure提供了一个云环
境,虽然带有容器,可以进行小规模开发,
但与本地开发工具不可同日而语,其应用性
远大于开发性。
MVC(Model-View-
Controller)是微软官方基于MVC模式
编写 Web应用程序的框架,
同时又是一种特有的Web应用软件架构
模式和技术,是技术的子集,
以下简称MVC。MVVM(Model-View-
ViewModel)框架是MVC一个变种,是基
于MVP(Model-View-Presenter)模式与
WPF相结合的应用方式发展演变而来的一
种新型架构。二者的关系如图1所示。
MVC主要针对具有人机交互功能的
软件,特别是基于Windows Azure的应
用开发,MVC框架的使用更为广泛。MVC
具有敏捷开发的特点,可以快速生成解决
方案,适用于电商、社区、CRM/ERP等大
型Web应用。MVC还有一个重要优势在
于,Model、View、Controller三个组件相
互之间是松耦合的关系,所以可以分别进
行自动单元测试,大大提高了MVC应用程
序的可测试性。截止2014年,最新版本是
MVC6。从MVC4开始,View的文件类型
是*.cshtml(之前是*.aspx),Controller
和Model的文件类型都是*.cs,三者通过路
由构建关系。
MVVM立足于原有MVP框架,并
且把WPF的新特性揉合进去,以应对
客户日益复杂的需求变化。WPF的数据
绑定与Presentation Model相结合的
做法,使得开发人员可以将View和业务
逻辑分离出来,这种WPF特有的数据绑
定技术简单实用,所以称之为Model-
View-ViewModel。VM相当于MVC中的
Controller。MVVM中的View由一个个
Partial View组成(简称PV),类似于自定
义控件。每个PV与Model都有对应关系,每
个PV都有边界,可以单独操作,也可以组
成新的View。PV将页面局部化,PV之间
没有交互。为View量身定制的mode也就
是ViewModel,ViewModel包含所有由UI
特定的接口和属性,并由一个ViewModel
的View(Partial View)绑定属性,在获
得二者之间松散耦合的同时强化了整个应
用程序的松耦合特性。MVVM的主要程
序类别有WPF、Silverlight、Windows
Phone Application等。MVC、MVVM
程序可以部署到云端,MVC与MVVM的
Windows Phone Application等程序相
2015 NO.07
Science and Technology Innovation Herald
科技创新导报
结合,可以实现面向“云+端”的开发,构成
了“互联网+移动互联网”的模型。
基于云环境的应用软件,业务逻辑
部署在云端,界面只负责美观,需要用到
JavaScript、jQuery、Ajax等技术。在面
向移动互联编程中,HTML5+CSS3+JS技
术方案渐成主流。
2.3 与 MVC
(Web Forms)是一个开发
框架,通过HTML、CSS、JavaScript 以
及服务器脚本等来构建网页和网站。ASP.
NET支持三种开发模式:Web Pages、
MVC以及Web Forms。也就是说,MVC
是三个开发模型之一。
Web Pages主要运用*.cshtml文件进
行开发,界面和业务逻辑代码混排,维护起
来非常不方便。之所以保留这种模式是因
为简单,非常适合做小东西。
Web Forms是从前到后的开发模式。
通常先以硬拷贝的方式定义UI,其中包含
业务逻辑的成分,也就是所谓的“前”。这
样的UI经用户认可后,再交给开发团队进行
代码开发,就是所谓的“后”。界面与后台代
码是紧耦合的关系,修改起来不太方便,适
合做简单的Web应用程序。这种开发模式
属于形象思维方式,它的好处是所见即所
得,但开发速度相对较慢。
MVC是从后向前的开发模式。首先定
义程序功能,解决要做什么的问题,并在
Controller中实现,要做几件事就写几个
Action,这是MVC的“后”。然后可以通过
ViewEngine等自动生成技术(也可以借助
母版页等方式)快速得到UI,也就是MVC
的“前”。这种模式属于抽象思维,支持敏
捷开发,所以开发速度相对快得多,适合做
大型Web应用。
Office Sharepoint Server基础开发,同
时熟悉掌握各类相关开源框架,越多越好。
3.3 移动开发工程师
这一岗位的要求主要针对原生移动应
用开发,包括Windows Phone、Windows
8开发,还有标准Android开发和标准
iPhone开发。同时还要具备类似微信标准
开发、数据库支持开发等方向的标准技能。
如果可能,最好掌握一些云技术运用。
4 不远的未来
微软“三屏一云”的战略描绘道:手机、
平板、PC,甚至还有Xbox运行着内核一
致、界面一致的系统。Windows强调跨设
备一致性的思想可见一斑。
微软越过Windows 9,直接把
Windows 10带到用户面前。在微软的宣
传中,Windows 10并不是Windows 8.1
的一个增量更新,而是一场质的变化。微软
正在努力打造一个平台,一个从小型嵌入
式物联网,到平板、手机、PC,甚至最终涵
盖Xbox的生态系统。也就是说,Windows
10将覆盖所有尺寸和品类的Windows设
备,从微型计算机(类似英特尔伽利略,适
用于物联网设备)、手机、平板(ARM和
x86芯片)、二合一设备、桌面电脑及服务
器,这些设备共享一个应用商店。如果是
这样,那么开发者开发应用(Universal
Windows Apps)时将会非常容易地进行
跨平台迁移,用户在不同设备切换后也能保
证一致的体验。
2014年11月13日的一则新闻标题又一
次让众人目光聚集微软——dot NET架构
开源了。一直为业内人士称道的集成开发环
境Visual Studio要正式支持Android和
iOS。纳德拉说过的“移动为先,云为先”
和“找到微软最初的本质”终于要兑现了,
微软开始为Android和iOS阵营的开发者
提供服务,Visual Studio 2015将支持使
用C#、C++和HTML/JavaScript编写
Windows、iOS、Android甚至其他平台的
应用。
这一切很可能意味着,C#程序员的技
术生态系统又将发生一次不小的变革。
3 按岗位划分的技术生态系统
3.1 前端工程师
在移动互联环境的Application中,UI
已经不仅是美工或称视觉设计的工作层面,
前端工程师岗位已经越来越明确地被细分
出来。这一岗位的基本技术包括HTML5、
CSS3和jQuery,在高级阶段还要求熟练
掌握JavaScript,能够编写原生的js应用。
在一些类似BI(Business Intelligence)
的复杂大型项目中,还可能把前端细分成
前端布局(HTML5+CSS3)和前端交互
(JavaScript)两类岗位。同时,前端通常
还要求熟悉MVVM模式。
3.2 dot NET工程师
这是一个比较传统的岗位,要求熟
悉 MVC 5技术架构,在熟
练掌握C#语言的同时,精通dot NET
Framework 4.5,包括I/O、网络、异步、
线程、并发、安全、LINQ、XML、JSON等
内容,还需熟悉Entity Framework 6。
在高级阶段,要能够熟练进行Microsoft
参考文献
[1] 浅谈MVP架构及开发模式.
科技创新导报
Science and Technology Innovation Herald
Copyright©博看网 . All Rights Reserved.
51
版权声明:本文标题:漫谈C#程序员眼中的dot NET技术生态系统 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1710342404a568599.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论