There is a long list of great products and solutions that have allowed me to become a productive programmer. My job
would be considerably harder without such excellent tools at my disposal.
ASP.NET - This is the primary platform I choose to build my web applications on. I have tried PHP and various Java
technologies, but ASP.NET and the rich libraries provided by the .NET Framework make ASP.NET a joy to work with. I originally
learned Web Forms development and became quite proficient at working around some of the pitfalls associated with that
technology. However, now I typically prefer to use MVC and Razor syntax to generate markup, and then conduct subsequent
user interactions with the page via AJAX and ASP.NET Web API (or occasionally SignalR).
EPPlus - Working with open office xml spreadsheet (excel) files is difficult without a good library. many programmers
fall into the trap of using poor workarounds, such as office interop on the server side or generating html files that
masquerade as excel files. epplus does not depend on having microsoft office installed, thus it can be safely used on the server.
it can natively generate .xlsx files, and it does so with a simple programming model that makes it easy to embed charts
Bootstrap - I am unimaginitive when it comes to making things look nice. I can recognize nice things when I see them,
but making something look pretty is not something hardwired into my brain. Bootstrap's responsive design and easily
themable templates make it simple to create a solid looking site without having to spend too much time perfecting style
sheets to suit my needs.
Surface Pro 3 - Apple may have paved the way for the tablets with their iPads, but Microsoft has taken the lead with the
Surface Pro 3. It's powerful enough to function as a laptop, yet as portable as any other large tablet. The ability to
use Visual Studio on a tablet to write apps is an great experience.
Hangfire - Sometimes it's handy to do long running tasks in ASP.NET without keeping the processing in the normal request/
response pipeline. But you don't want to create an entirely separate application to handle this stuff. Some good examples are
report generation or resizing images. Hangfire (and other libraries, such as Quartz.NET) make it simple and reliable to implement
these while avoiding the pitfalls. It has a simple user interface and programming model that make it a breeze to schedule some code
to run in the background and then check the results later.
Postal - The Razor syntax is great for MVC web applications. With Postal, the same
clean syntax can be used to generate HTML emails, even with strongly typed models!
ScriptCS - This tool leverages the Roslyn C# compiler to run C# code as if it were a script
file. I haven't found a whole lot of uses for it yet, but it's really cool. If I were creating an ERP system from scratch, I would
use it to allow customers to inject dynamic event actions into their installation.
ASP.NET 5 (vNext) - I've been playing around with the pre-release builds of ASP.NET 5 and I'm pretty excited about the
direction that Microsoft is taking it. It'll have the advantages of both web application projects and websites in a single
project system. And it'll run on my Mac! MVC and Web API have been unified.
wanted to write the client side of a website, I'd want the logic to be written in TypeScript.