本文的基础是搞了一次内部的技术分享,在此也分享一下本次的PPT的一些内容。先列一下大概内容吧。
- EF—Code First
- API(WCF、WebAPI)
- Xaml
- MVVM
- AOP
- Xamarin.Forms
- ABP(ASP.NET Boilerplate)
- Tools
EF—Code First
关于 EF 园子里有好多具体的讲解,所以我就简单放几行代码
API
现在都喜欢全平台开发,那用 API 来获取数据就可以复用这个部分,而且也很方便。
首先了解一下怎么设计 Restful 规范的 API。REST API Design - Resource Modeling
WCF
最初我打算写 API 时还不知道 WebAPI ,所以就用 WCF 写了,其实也不错,虽然配置文件参数太多,要想好好配置一下还是有点费事的
WebAPI
其实这里我跳过了普通的 WebAPI , 使用的是微软的开源项目 OData,其实就是在 WebAPI 上封装了一些东西,很好用,我的理解是符合了规范,多了几个 $ 的扩展,在就是把用 Model 某一个字段来过滤数据而不用单独去写 WebAPI 了(正确解释和详情请见 OData 官网)。
相关链接
- OData v4 Web API 文档
- RESTier
- RESTier 文档
XAML
Path
灵活运用 Path ,比如画个非常简单的图形,我一般用来画 Button 上的图标,不会画没关系,Metro Studio 里有 3000+ ,实在不行可以找美工要啊,之前还从群里的小伙伴那里得到个中国地图,当然只是画到省份,在具体就没有了,不过完全够用了。
Blend
不要觉得这个是专门给美工用的工具,事实上会用的非常少,还是自己来吧,比写代码快很多的。
MVVM
这个大概讲了一下基本概念,网上很多,我就不粘了,总之 MVVM 还是很有用的,就算你不写桌面程序,AngularJS 也是需要用的。框架太多了,就简单说几个记得住的吧。
- Prism:微软提供,传说太大太重了,反正我也没好好用过,不好说。
- MvvmLight:开源免费,很轻恨灵活所以用的人也很多。
- Caliburn.Micro:开源免费,有很多比较易用的封装,我用的是这个,Xamarin.Forms 也用的这个。
- Catel:开源免费,也很出名,但是完全没看过,略。
- MvvmCross:开源免费,这个比较厉害的是很早就支持跨平台了,接触这个也是做 Xamarin 的时候,其他的我也不是很了解,但是在 Xamarin 里有很多的 Plugin 可用,资源很丰富。但是最近发现Sample里的例子都要在 Android 里再写一遍页面,很奇怪。
- FreshMvvm:开源免费,Xamarin.Forms专用,但是 ViewModel 总是要传一个 Model,所以不是很喜欢
AOP
按照 DDD(Domain-Driven Design) 的思想,很多基础的东西都是可以用 AOP 来实现的,日志,权限,认证,等等吧,ASP.NET 中已经有了一些,但其实还是有很多可以用的地方。
相关链接
Xamarin.Forms
通过一套代码就可以跑3个移动平台,并且现在还免费了,Xamarin 配套的东西很多,什么云测试啊,性能监控啊,很很多成熟的作品了,已经过了一步一坑的时代了,完全可以用了。
相关链接
ABP
基于 DDD 思想的 ASP.NET 开源框架,已经支持 ASP.NET Core ,集成了很多强大且有用的开源项目,AutoMapper,OData...,具体的可以看官网,总之很强大,官网还支持输入项目名称就可以生成项目代码,你可以下载下来慢慢学,还有完善的文档,园子里也有很多大神组织学习。我也是从他们那知道这个的,官方文档下边连接了他们翻译的中文文档。 当然学习这个的前提还是挺高的,EF Code First,WebAPI,OData,AngularJS,Typescript(AngularJS 2 用 TS)...,还有最重要的 DDD 的思想总得懂吧,如果你还担心 ASP.NET Core 的性能问题,那请看 这个测试。
相关链接
Tools
最后是一些工具和资源的连接
- Snoop 查看 WPF 的 Xaml 结构的工具
- Metro Studio 可以获取 Path 的资源软件
- Xaml Styler 美化 Xaml 的插件
- Gorilla Player 可以实时预览 Xamarin.Forms 的插件
- SnippetEditor 可以编辑代码快捷输入的工具
- MahApps 一个开源的 WPF 控件集
- UWP 例子
- Code Pen 可以在线运行 JS 的编辑器
- AngularJS
- Material Design for Angular 2
- Material Design Lite
- Material Design for Bootstrap
- TypeScript
- Bootstrap
其实这里主要是讲了一下我知道的一些技术的简单介绍,没有深入讲解,希望对你们有用。