Landmine
Description
ASP.NET MVC is a really compelling platform. Microsoft is making a lot of great changes to support modern web development and I wanted to check out how it works.
I had the javascript source for Landmine laying around in a local git repository, I had high hopes of one day making a Ruby on Rails app to host it. I decided to go forward but with ASP.NET MVC instead.
It’s sort of a Minesweeper clone that supports high scores. I have plans to add things like score validation and replays.
Technologies
- Grunt for building JS source
- Local bower for managing dependencies between server and my JS source
- ASP.NET MVC 5
- Entity Framework 6
- SASS
- Knockout.js
- Typescript for connecting game source code to high scores
- Hosted on azure websites
Takeaways
Microsoft is making a lot of positive changes. The latest Visual Studio supports a lot of tooling that embraces the open source community and provides excellent improvements in development efficiency.
TypeScript - I tried TypeScript for a section of the app. It works really well within VS: gives you IntelliSense and compile errors. It made working with Knockout a breeze since I tend to forget to access model properties through the method syntax. It doesn’t make much sense to use TS outside of VisualStudio though: its most compelling use-case is the in-editor IntelliSense: a feature that I have not been able to reproduce with open source tooling on the Mac
Visual Studio - VS 2013 tooling is top-notch. At work I use mostly VIM, and while I love the key bindings, it’s really nice to work in an environment that supports refactoring, IntelliSense, and built in version control. I had to figure out how to do SASS within VS, but that likewise turned out to be a great feature.
Azure - Once you get a handle on give up trying to understand the absurdly
complicated pricing model, Windows Azure is a fantastic platform. Spinning up a
site is just a git push
away and you can use the built in management portal
to completely configure the app.
ASP.NET MVC - I really like ASP.NET MVC. It borrows many of the best ideas of Ruby on Rails and applies the static type-safety and speed of C#. Razor syntax is a great way to do views, and integration with EntityFramework is awesome. VS’s ability to scaffold out sample pages is a great way to get up to speed quickly. This framework is going to go far.