你的位置:首页 > ASP.net教程

[ASP.net教程]老衣的工具集2015版


 

开发语言

  • C# 是大神Anders Hejlsberg从Borland跳槽到微软后亲自操刀打造的开发语言,关于这段过程的一些事情,你可以移步看看这篇文章。对于C#,依然有很多人狭隘的认为它只能开发.NET程序,甚至认为开发的程序只能跑在Windows上。但是实际上这都是错的,C#可以开发非.NET程序、甚至可以用写操作系统,更不用说开发基于Mono或者CoreFX运行在Linux、Mac等系统上的程序了。微软已经变得越来越开放了……另附,.NET Awesome 项目列表页:https://github.com/quozd/awesome-dotnet
  • JavaScript / TypeScript / Node.js 最近几年,js的热度陡然上升,node.js的助推是一大主因。现在js已经将触角从web浏览器伸向了服务端、手机App等领域。在Facebook等公司的推动下,众多js死忠也在努力让自己成为全栈程序猿。而Turbo Pascal、Delphi、C#之父Anders Hejlsberg也极其看好js的未来,所以他老人家搞了一个js的超集语言TypeScript,让开发js程序变得更加简单、安全、健壮。js Awesome项目列表见:https://github.com/sorrycc/awesome-javascript
  • Go 是Google出品的新型开发语言,语法简单,专业适合服务端开发。突然改变云计算行业的容器技术产品 Docker 就是用Go语言打造的,而国内的七牛云也是主要使用Go开发的服务端程序。含着金钥匙出生的Go语言似乎前景一片大好,只是它还不支持泛型之类的特性,让我等还觉得有些遗憾。Go Awesome 项目列表见:https://github.com/avelino/awesome-go
  • Rust 跟Go类似都是新型语言,只是Rust是一种系统级语言,且出自Mozilla。 新兴语言中没有GC的很少见,Rust则是其一,且号称编译通过则永不崩溃(貌似还没完全达到)。Rust很早就已经实现了自举,也就是自己的编译器可以 自行编译自己的编译器,^_^。从语言的设计角度来说,相比Go我更喜欢Rust,它上能做各种应用,下能实现裸金属开发,一些让人值得赞叹的项目可以到 Rust Awesome 项目列表页: https://github.com/kud1ing/awesome-rust 。
  • Swift 大概是苹果公司自己也觉得自家的OC设计的太糟糕了,于是参考一些市面流行的先进语言,重新打造了一个新的——Swift,而且2.0开始,它还开源了。 除了能开发苹果自家设备的应用外,还将支持开发linux上的程序。嗯,还是不错的。Swift Awesome 项目列表页见:https://github.com/matteocrippa/awesome-swift
  • F# 微软研究院出品的一种特别适合数学计算方面的函数化编程语言。你可以到http://www.tryfsharp.org试着玩玩。对了,它也是开源的,而且可以跨平台——这年头一个语言不能跨平台似乎就很难面世了吧 :D

开发及周边工具

  • Visual Studio 2015 with Update 1 是一个丰富的集成开发环境,可用于创建出色的 Windows、Android 和 iOS 应用程序以及新式 Web 应用程序和云服务。支持C#、Visual Basic、F#、C++、Python、Node.js 和 HTML/JavaScript 等语言。注意啊,面向构建非企业应用程序的开发人员的Visual Studio 社区版是免费的,功能上基本等同于Visual Studio Professional。
  • Sublime Text 3 是Sublime Text 的新版测试版。是一套可运行在Windows、Linux、Mac上的跨平台文本编辑器,支持基于Python的插件。Sublime Text 可通过包(Package)扩充本身的功能。大多数的包使用自由软件授权发布,并由社区开发维护。
  • ATOM 是GitHub出品的代码编辑器,基于Chromium Embedded Framework开发的,功能表现于Sublime Text极为类似,但性能貌似有一些问题,自打用上了Visual Studio Code后,就放弃它了。
  • Visual Studio Code 是可在 Windows、OS X 或 Linux 上运行的免费且开源的代码编辑器,可用来构建和调试现代 Web 和云应用程序。支持JavaScript、C#、TypeScript、HTML、Markdown、CSS/SASS/Less、DockerFile、JSON等。性能表现比ATOM好很多,而且新版本已经支持扩展了。
  • Xamarin Studio 5.1 是用C#开发Windows、Linux、Mac、iOS、Android、WP等各种平台App的跨平台开发强大利器。可以运行在Windows或者 Mac OS X系统上,当然了用它开发Mac、iOS、Android三个平台的App是需要花钱买License的,价格嘛有点贵。不过开发ASP.NET、MVC、Nancy、控制台、类库等是不需要花钱的,免费版就可以写。如果你除了C#外,还在玩F#或者D语言之类,也可以用它。新版Xamarin已经支持C#6了——还不知道C#6新特性的主动去面壁思过吧!
  • Xamarin Android Player Xamarin 出品的安卓模拟器。开发安卓应用的,都知道原生模拟器那叫一个慢,Xamarin Android Player则性能表现不俗,跟Visual Studio Emulator for Android有的一拼。但是区别在于,Xamarin Android Player是基于VirtualBox,跨平台且消耗资源少;而Visual Studio Emulator for Android,在Windows基于Hyper-V的,而非专业版Windows根本木有办法用Hyper-V,至于在Mac可用的Visual Studio Emulator for Android,目前已经Coming Soon挺长时间了……
  • Brackets 是Adobe出品的免费且开源 的轻量级现代化Web开发工具,功能强大且有丰富的扩展。支持实时预览、预处理、PSD参考等非常不错的功能。
  • SourceTree 是强大的Git/Mercurial桌面客户端,支持Windows和Mac操作系统。有了它,基本可以放弃大部分场景下的Git/Mercurial命令行工具了。而且兼容Bitbucket、GitHub、Kiln等协作平台。
  • GitHub Desktop 可以让你的项目无缝接入GitHub
  • Dash 苹果设备上最好的离线文档集中营工具,可以根据自己的喜好,订阅各种语言、框架、类库的离线版官方文档,更新很及时,简单好用。还在到处找官方网站看文档?赶紧用Dash吧。
  • Paw 是Mac上的REST Client App,可以很方便的测试REST API,检查服务器响应甚至生成代码,有丰富的扩展功能库。功能上很类似于PostMan,不过我现在更喜欢Paw多一些,也许是因为花钱买的软件,不用心里难受吧。
  • PaintCode 能让你在Mac上用它将你绘制的一些图形生成SVG、Objective-C、Swift或 C#(Xamarin)等语言的代码。经常做手机App的可以考虑购置这个软件,关键时候确实省事不少。
  • Jexus 国产的强劲、坚固、免费、易用的Linux ASP.NET服务器。是老衣目前在Linux上跑ASP.NET、MVC、Nancy等Web应用程序的主要服务器软件。其姊妹作 TinyFox 更是可被看作是跨平台版的IIS Express,用C#做跨平台Web项目的人都应该试试这个。
  • Grunt JavaScript 世界的构建工具。对于需要反复重复的任务,例如压缩(minification)、编译、单元测试等,自动化工具可以减轻和简化你的工作。当然了Grunt的配置比较麻烦,而且运行过程中几乎是必然会产生中间文件的,所以我也在尝试转向Gulp。Gulp的job配置过程,其实就是在写代码,且其保证任务的单一职责化,把适合的插件组合在一起,一气呵成,非常方便维护和修改。不过呢,如果你已经在用react开发前端的话,建议你直接用webpack
  • BowerTwitter出品的Web包管理器。
  • npm 与.NET上的Nuget类似,是属于node的包管理器。
  • Yo yo是一个用于构建特定框架的生态系统的代码工具,我们称之为生成器(generator)。
  • Homebrew 类似于Ubuntu上的Apt工具,方便安装和更新苹果上的一些软件。
  • Briefs Mac上的iOS/Android应用仿真软件,移动产品经理的必备软件之一,可以通过它做出一个App的MockUp来,在手机或平板上可以实际查看甚至操作,方便团队成员了解App需求的效果和流程。
  • XMind 7 目前我用过的最好的思维导图软件,易用、美观、高效、可视化强。
  • Sketch Mac上超级好用的UI设计工具,致简、高效、强大的工具。个人觉得在UI设计领域,有了它,完全就不需要考虑PhotoShop甚至AI之类了。同样,它有非常众多的扩展插件和社区支持工具,可以将你在UI设计领域大部分要面临的问题解决掉。
  • Sketch Toolbox 一个简洁而强大的Sketch插件管理器,用Sketch的人一定要用它。
  • RightFont 现代软件开始越来越垂直和轻量化,RightFont就属于此类软件。它运行在Mac上,以轻量化的“骨骼”,与PS、Sketch等软件搭配使用甚是方便,
  • Everything 是Windows上目前用过的最好的NTFS分区文件检索软件,索引效率极高——几个T的硬盘文件,也就几十秒就差不多了。而搜索文件,绝对秒杀一切同类产品。内置了FTP和HTTP,可用作内部文件检索或分享等。用过的人都离不开它!
  • Microsoft remote desktop for Mac OS X Mac上远程访问Windows的利器,微软官方出品。但貌似现在依然只能从Apple App Store美国市场才能买到,没有美国账号的自己想办法吧。
  • Chrome 貌似Google的这个浏览器已经成为Web开发人员的标配了吧?极简、高性能、丰富的扩展、强大的开发者工具,是开发者们喜欢的重要原因。
  • WunderList 中文名:奇妙清单,极简风格TodoList类工具。产自德国的一家创业公司6Wunderkinder,该公司在2015年被微软收购。支持Windows、Mac、iPhone、iPad、android、Windows Phone、Kindle Fire和各种浏览器等平台……WunderList功能并没有像Worktile之类的那么多,但刚好够用^_^
  • Pocket 是我最常用的稍后读类工具。同样支持Windows、Mac、iPhone、iPad、android和各种浏览器平台。极简、好用!付费后用起来更爽了 :D
  • Feedly Google Reader被关闭后的优秀继任者,配合Reeder 阅读你订阅的RSS,很爽!
  • Microsoft OneNote 用了很多年的笔记类工具,虽然产自微软,但除了支持Windows、Windows Phone外,还支持Mac、 iPad、iPhone、 Android、Amazon、Web、Chromebook、Clipper等。个人认为比Evernote、有道笔记等都好用,你有意见可以保留。
  • Parallels Desktop Mac上的虚拟机软件,可以方便的使用它在Mac上运行Windows、Linux等系统。跨平台开发必备之虚拟机工具。当然了,这个也不是免费的。
  • ScreenFlow Mac上的优秀录屏软件,以后你看到我在Mac上录制的视频基本都是用它做的。虽然免费的QuickTime也能录屏,但是功能太弱,而且录制稍微长点大点的时候,各种让你崩溃。
  • AppCleaner 在Mac上可以很方便的干净卸载软件的小工具

Visual Studio 2015中用到的新扩展

  • Productivity Power Tools 2015 一如既往的让VS变得强大,提升生产力。
  • C# Essentials 这个工具可以帮助你把现在的C#代码改用C#6新特性实现,是优化C#代码的利器之一。
  • .NET Portability Report 当你写的.NET Library,要准备做跨平台支持时,这个工具可以帮你检查兼容性问题,生成报告,帮助你改进代码,实现更好的跨平台兼容。
  • XAML Regions 当你用XAML开发App界面时,一旦代码复杂到一定程度。你可能就会想如果它也会像C#语言有Regions支持该多好啊?嗯,这个扩展就是解决你这个需求的。
  • File Nesting 是帮助你优化项目文件结构的扩展工具。它可以自动把相关的代码用子树的方式组织在一起。用了它,你会觉得这个世界瞬间清净了^_^
  • [Web Essentials 2015] (https://visualstudiogallery.msdn.microsoft.com/ee6e6d8c-c837-41fb-886a- 6b50ae2d06a2)相对2013的老版本,它缩减了一些功能,因为这些功能被独立的扩展所替代
  • Bundler & Minifier 可以捆绑多个css、js、html文件到一个文件,可以生成最小化文件,用于发布场景。
  • Web Compiler 用来编译LESS、Sass、 Scss、(Iced)CoffeeScript和JSX等代码文件
  • Image Optimizer 面向Web场景,实现视觉无损优化PNG、JPG和GIF等图片文件的扩展工具,对优化web应用性能有一定帮助。
  • Web Analyzer JS、TS、 CSS和JSX等文件的静态代码分析工具,有利于优化相关代码,提升应用健壮性。
  • Glyphfriend 字体图标在如今的Web App甚至是手机App中被大量使用,但是相信没有几个人能记住Font Awesome之类字体图标库的名字和对应图形的。这个扩展可以让你从繁琐的手动查找中摆脱出来,让你在html中使用字体图标的css class时自动预览图标列表,快速选定并使用正确的class name。
  • Mexedge Stylesheet Extension 这是一个非常神奇的css查找、分析和维护的扩展工具。用VS做web app开发的人应该都用用,除非你的css很少很简单。对了,新版还支持LESS啦 ^_^

框架和库

  • NancyFx 用C#开发跨平台web application的优秀开源框架,我在博文和演讲中多次提到它。
  • SuperWebSocket 江大鱼的开源项目,让你可以在.NET或者Mono上轻松开发基于WebSocket的应用。
  • SuperSocket 江大鱼的开源项目,让你可以在.NET或者Mono上轻松开发基于Socket的应用。已经被微软在VS2015安装包加入到第三方可选项了,很赞!
  • TinyMapper 轻量高效的.NET对象映射器。性能方面非常赞!
  • Npgsql 这应该是.NET或Mono上用PostgreSql数据库的必选项了吧。
  • Polly 云计算开发中需要考虑Retry之类的机制,Polly是.NET开发领域不错的选择。
  • C-Sharp-Promise Promise在js开发领域大行其道,深得开发者们的喜爱。C#程序员们可以用C-Sharp-Promise,使用Promise的方式编程。
  • RestSharp 面向.NET的优秀REST和HTTP API客户端框架
  • WebSharper 是一个基于F#构建的Web开发平台,使用F#构造从前到后的一整套内容。其中利用到F#中许多高级的开发特性,并可以将F#代码直接转化JavaScript,这样服务器端和客户端的通信也变得透明起来。
  • RAML RESTful API Modeling Language的简写,号称是设计API最简单的利器。值得关注和学习
  • sharp 号称是对JPEG, PNG, WebP和TIFF等格式图片进行缩放,性能最高的Node.js module。
  • Topshelf 当你需要将一个.NET的Console或者桌面应用,作为Windows服务运行时,它会很好的帮到你。
  • forever 让node.js应用在后台运行在生产环节中是非常必要的,否则当你退出用户登录时,你的node.js程序也会跟着结束执行。forever就是解决这个问题的。
  • Animate.css web前端要求越来越高,这个css库可以让web app很方便的拥有丰富的动画效果。
  • AngularUI Router 这是目前我最常用的angular路由框架,基于angularjs开发web app时,他让我得心应手,哈哈……
  • Highland 面向Node.js和浏览器的优秀streams类库。
  • lodash 本是Underscore.js 的一个分支,优秀的js实用工具集,但因为与其它贡献者意见相左,于是独立发展。提供了更多的功能和更好的性能,延迟计算是其中用到的不错理念。
  • SuperAgent 是一个精小而先进的HTTP客户端请求js库。适用于浏览器和node.js,我很喜欢其流式编程的感觉。
  • nickel.rs 这是一个Rust语言的轻量级Web应用开发框架。类似于node.js的express