I want to build a custom PURE HTML5 Web Template, for HTML5/CSS3/JavaScript single page application development, and then use that as a starting place for SPA HTML5 web development.
Microsoft clearly recommends using Web Applications, but provides NO pure HTML5 web application template, thus this task is left to end users.
I am not asking if I should use an ASP.NET Web Site or ASP.NET Web Application instead I am asking, what template configuration can I arrange that will let me use the most modern HTML5 tools and workflows, and is it the Web Application (with .csproj or .xproj project file) or Web Site project (a folder based project)?
For projects where a developer needs to build a pure HTML5 SPA, maybe with ExtJS or maybe with Angular, or something equivalent, the first choice made is between File-> New Web Site and File -> New Web Application.
If it may be that later my HTML5 project may get some ASP.NET added later, it is clear I should choose File -> New Web application, but there is NO HTML5 template provided, so I am looking to build my own Template and use that. But what should it be based on?
For the WebSite option, you click file New Web Site, and you get a folder-based project, but none of the new grunt/bower support.
I am looking for a way to get the best of both choices. Can I get grunt/bower support if I click File New WebSite? Or can I do pure HTML5 work somehow if I click File New Project?
It is possible to crib a pure HTML5 Web Development .csproj + .sln project together myself, starting with some examples that used to be on codeplex and are now on GitHub
It seems to me that the benefits of a .csproj or .xproj based root for pure HTML5 development are:
I can specify only the files I want to see in my project explorer.
I can easily add ASP.NET webapi controllers to my "pure" project without rebuilding the project.
Can I use one of the ASP.NET 5 (DNX) Web Application templates (.xproj), and just delete all the C# stuff, to get a working pure HTML5 development template, and retain all the new javascript grunt/bower tooling? Or do I have to stick with Web Site (folder level) projects, and their visual studio 2005 era website development features, for pure HTML5 html/css/javascript development?
Update: If close voters who voted "opinion" based would be so kind enough as to point out where I call for any opinion, that'd be great. I'm asking for help DEVELOPING a template for Visual Studio, and I believe that is on topic and not at all a call for opinion. To develop a template you must make a choice. Which one will provide the most complete HTML5 tooling including grunt and bower and full javascript syntax highlighting, jslint, bundle, minify, etc?
When developing a template, my research so far shows that:
Patience, grasshopper, it's early days. ASP.NET Core 1.0 just released, but does not include certain elements, including a new .xproj style set of projects for basic pure HTML 5 web project development (name not yet even announced, but let's hypothesize, it might be called Core Pages), whatever it is, the Microsoft "franchise reboot" for Pure HTML5 Development with Microsoft Visual studio either doesn't exist yet, or is in early stages of internal development. Whatever template I could make today might be obsolete in three weeks or three months if Microsoft makes a move here.
For now, for people who can live with it, File -> New Web sites works fine, and I haven't found any technical documented reason why you CAN'T use it for new development, just a caution from Microsoft that it might not be the best choice, if a File -> New Project template can meet your needs. You can see from the way that ASP.NET Core 1.0 today works (just in time automatic-recompile without rebuilding in ASP.NET Core brings a core feature of the WebSite world over into the WebApp world at last) that its new tooling and the new .NET Core features inside dnx and dnvm will finally "restore the Balance of Nature" that I feel has now been divided over the last 10 years by the WebSite/WebApp dichotomy. Not yet, but that's part of the core design elements I have understood from studying the ASP.NET Core architecture.
For ExtJS, the Sencha Ext JS plugin for Visual Studio provides a File -> New Web Site option, and this works fine. I downloaded and tested it yesterday evening and it works fine. If I want to invoke grunt or bower, or bundle and minify, or any other web-dev workflow task, I can do so manually using an external command prompt window as well. So while it might not be as shiny as I was looking for, it's possible to get work done. The Ext JS plugin provides full Ext class hierarchy code-completion, and starter templates for both pure HTML5 (via file New Website) and HTML5+ASP.NET (via File New Project). When evaluating their plugin I initially thought there was NO way to do a pure HTML5 app inside visual studio because I was totally unaware of the File New Website option, and thought (incorrectly) of this area of VS as deprecated.
For Angular SPA development INCLUDING .NET there is this template, and it appears you could use it and just not write any ASP.NET server side stuff if you wanted to do a pure HTML5 SPA.
I would probably suggest starting with the angular SP development template linked above and modifying it to subtract angular and insert ExtJS, or using the ASP.NET 4.6 plus ExtJS template provided by Sencha's IDE plugin, and just subtracting all the ASP.NET code from that template. I don't yet have a starter template suggestion for the ASP.NET Core 1.0 .xproj world yet.
It should be possible, and seems quite easy to use .NET Core and ASP.NET Core as a key part of the tooling for a pure HTML5 development environment. In particular "dnx web" is a useful way of locally developing, as it is even more lightweight than using IIS Express. It should be equally feasible to develop for HTML5 with "DNX web" (kestrel) as the lightweight static server for pure HTML5, and either a full Visual Studio 2015 project (either website or webapp), or using just a modern web-editor like Visual Studio Code.
I hope that other developers who are still confused, as I was about the now-10-years-long split-personality issue in visual Studio with regards to New Web Site and New Web Application, may finally see some light at the end of the tunnel.
Update: Q4/2016: It actually looks like the two way split personality issues in VS 2015 will get worse in VS 2016 (Currently in preview as VS15) because there will be THREE ways to open a project, open solution/csproj via one menu item, open web project via another, and open folder via a third.
I'm not a professional or anything, just doing this for fun. Is there a free software suite for web development that would be better to use rather than using notepad++?
For example, I'm learning android development and I use android studio for it.
Thanks
One option for you to consider is Microsoft's new offering, Visual Studio Code.
It's basically a free version of Visual Studio designed to be cross platform (Mac, Linux, Windows) that currently best serves ASP.NET and NodeJS.
I'd consider giving it a shot. I haven't tried it because I use Visual Studio Professional 2013 for work, which is very fully featured. But VS Code will do syntax highlighting for these:
Batch
C++
Clojure
Coffee Script
DockerFile
F#
Go
Jade
Java
HandleBars
Ini
Lua
Makefile
Markdown
Objective-C
Perl
PHP
PowerShell
Python
R
Razor
Ruby
Rust
SQL
Visual Basic
XML
As well as Intellisense (like autocomplete, I believe) for these:
CSS
HTML
JavaScript
JSON
Less
Sass
It looks like it also has some sort of built in Git support, which would be really handy. Probably worth at least considering.
https://code.visualstudio.com/
I'm doing a simple demo that involves creating an HTML page using F# and Websharper. Using the samples from the Websharper website I'm able to run a simple Hello World page using sitelets when I hit Debug on Visual Studio. I'm wondering if there's a way to package this in such a way that I don't have to open the file in Visual Studio and hit debug to display the content? I've tried using msbuild from the command line to build the solution but I've had no luck opening the browser that way. What I need is a way to compile the code and display the HTML page without having to open up VS. Also I'm using Web Applications (Sitelets) template for VS for Web Express 2012. Thanks
The "Web Applications (Sitelets)" template does not actually generate HTML files, it generates a DLL that can be run by an ASP.NET runtime. Therefore, depending on your situation:
If you simply want to generate HTML files, without any server-side computation, then you should use the HTML Application template instead. It compiles the sitelet into a set of .html files.
If you need a server runtime, your safest bet is to install ASP.NET for IIS. You can find it in "Turn Windows features on or off", somewhere in the control panel. Then, in IIS Manager, add a Website and point it to the Web folder of your application.
I'm using the C# package of Visual Studio 2010 Express. I want to add an HTML file to my project, but the C# package doesn't seem to have HTML support (e.g. syntax highlighting) included.
I tried installing the Web Developer package hoping it would simply add features to my existing installation. Turned out that they are acting like different programs though. Still no HTML features.
Is there any way to do this?
If all you need to do is edit some HTML and want highlighting, may I suggest a free advanced text editor such as Notepad++ ?
Is there a graphical design tool for html/jsp pages like jsf pages (like the aspx .net environment)?
Yes, Building out Visual JSF inside of an IDE like netbeans may be what you are referring to.
Here is a good tutorial from Netbeans.
This tutorial gives you a whirlwind
tour of Visual Web JSF application
development in NetBeans IDE 6.5. The
tutorial shows you how to use Visual
Web JSF Application functionality and
JavaServer Faces 1.2 (Woodstock)
components to perform the typical
phases of web application development.
The tutorial is designed so that you
do not need to go through it in any
particular order. You might want to
skim over it quickly and then return
to each section as time allows.