This post is part of series "the road to Visual Studio free frontend development":
- Frontend life with Visual Studio
You can browse code of this post on github.
Every good project starts with identifing some requirements and my new website also follows this simple rule. My list of requirements is the following:
- mobile friendly
- server side technology free
- ready as soon as possible
The latter is the most important (like for all other projects). So, I decided to reach my goal by using the tool I deal with every day: Visual Studio.
First choise, first issue: how can I use Visual Studio detached from ASP.NET?
I'm a lucky man because purehtml template suites this purpose.
Last but not least: how can I use minified files only for production and use the original - not minified - during the development?
I decided to write a little script powershell in order to copy the website content to a publishing directory and replace both css and js files with its minified pairs.
The mission is finally accomplished: my new website is up and running. Now it's time to have a retrospective about the frontend development experience with Visual Studio.
The good parts:
- The discussed solution satisfies all the requirements
- The used tools are familiar to a microsoft stack developer
The bad parts:
- My machine is based on OSX so using Windows under the virtual machine drains too much battery
- I wasted time waiting to boot virtual machine
- I wasted time waiting to open Visual Studio
- Every time I open the powershell script I need time to realize what the code means
- It's not a usual development experience for a non-Microsoft developer
- My project folder is overloaded due to useless files from the Visual Studio project (*.sln, *.config, *.csproj, Properties folder)
- Visual studio template referencing useless (for my scope) client libraries
- Client libraries versioning and management is a pain
- My project is editor/ide dependent so I cannot share it with other frontend developers used to its tools
- I need to manually set up my dev environment before opening the project
hmmm... It seems I have too many technical debts to make up...