I'm working on a new website for one of my hobbies – car magazine collecting.
I wanted a website where I could create an index of the contents of each magazine so I would be able to search for articles about particular makes and models.
I also wanted to be able to track which issues I have, which ones I want, and which ones I don't want and would like to sell.
A wiki-like website where anyone could add and update magazine contents sounded ideal.
I love stackoverflow.com
and have taken some inspiration from that site for how to handle members, permissions and points.
So, what to develop in?
Well I work in ASP.NET Web Forms in my day job but I do get a bit annoyed by some of its features – mainly the bloat and issues with ViewState. It would have been the quickest option as I am so familiar with it.
I thought about ASP.NET MVC and I really should take a leap into this as it seems it is now the professional choice for ASP.NET development. However, I don't like it.
I decided upon ASP.NET Web Pages. One of the main reasons is that I can do development changes and fixes easily without the need for compilation and redeployment. Just a change to a cshtml file is all that's needed.
Although Web Pages is regarded as a framework for beginners, it does expose all the benefits of ASP.NET and C#, so it is just as capable as any of the other choices.
On the client side I have chosen to start with Bootstrap 4
. Although still in Alpha stage I thought it would be a good idea to get acquainted with it, and enjoy the benefits of smaller file size, improvements and new features.
And what about data access?
Because this (not profitable) website would be run on a low-cost shared hosting plan, performance would be fairly critical. My original plan for data access was to use the SqlClient namespace and SqlDataReaders, etc for everything. After all, that's similar to how we did things in the "old days" - raw SQL and straight from database to web page.
However, it didn't take long for me to tire of doing it this way. I prefer writing raw SQL but years of Linq to SQL and Entity Framework made me yearn for strongly typed queries and results.
So I started switching over the Linq to SQL. A lot less bloat than EF but it really speeds development. Some of my more complex queries are a bit of a pain in Linq but that's the price you pay. Still, I hope someone answers my call
for a better system that integrates application and database, and allows us to write raw SQL in our application better than Linq does.magazinecollector.net
is online but still a work in progress.