ASP.NET MVC Optimization Series: Introduction and Setup

July 6th, 2015

In this optimization series, we discuss how to setup and prepare for building a regular web app to make it look, act, and feel like a native app.

I'm always up for a challenge. On Monday, I mentioned why I was moving towards a web-based approach for mobile as opposed to native or hybrid.

If you have an optimized web page and you pulled out all the stops to use every optimization technique, you could make the webpage responsive and perform like a native or hybrid.

For this entire series, we'll explore how to take a simple web application and optimize it to pass as a native or hybrid application. 

In the first part of this series, we'll setup the environment and requirements for our project.

Overview (or What the heck are we building?)

I've been going to Codemash since 2011 and it's definitely been eye-opening every time I go.

One of the apps that everyone seems to use is a native app to manage their sessions they want to attend at the conference.

So I thought, why not push the limits of an ASP.NET MVC with a Codemash event manager web app using HTML5, CSS, and JavaScript? The only thing we have to work with is the data feeds from this year's conference (2015).

The data we're working with is located on an Azure web site. The feeds are listed below:

That's it. That's what we have to work with in our web app.

Also, I want to make sure everyone knows the angle I'm coming from when designing this web app. For me to pull this off, I need some goals for this project to be a success. These are the goals I'm focusing on:

To accomplish these goals, our approach to building this web application will focus on a number of techniques for optimizing the app.

With that said, let's setup the project.

Creating the Project

I created a fresh ASP.NET MVC project with no authentication or WebAPI.

Once the project is generated, I modified the code to match my style of MVC apps.

Here is what I did.

Along with the folder structure, I added some additional packages to the project using NuGet.

I'm sure we'll be adding more to our project as we move forward, but for now, these are the essential libraries for our project.

Conclusion

As we go through this series discussing why I've chosen each path, I'll show you how to turn a standard ASP.NET MVC web application into a snazzy, sexy mobile web app that acts like a native app.

In the next post of the series, we'll setup our models, focus on retrieving our data using the server and find out how to optimize the calls for our client.

Is there another library that you think would be a great fit for a mobile app? Post your comment below.

ASP.NET MVC Optimization Series: