PDA

View Full Version : Are there any sample applications combining extJS and WebApi?



wpostma
15 Jan 2016, 12:10 PM
The skeleton generated inside Visual Studio IDE plugin is so simplistic as to be silly. No controller classes, no ExtJS invocations of the WebApi. What was the point here? What did I gain here?

May as well fire up Notepad and get busy with some coding. Maybe this IDE integration really is powerful and full featured, but how do you discover it? How do you demo it? Not sure really.

Step 1. Click File New Project.

Step 2. Learn ExtJS and be an expert who answers questions on stack overflow. Also be a C# ASP.NET WebApi Expert. Because there's no docs and no demos. So yeah. Fun.

Anyone see the problem?

It is also not possible with the current Visual Studio IDE to choose from a plain ExtJS template and use that. So for example, if you wanted to use Visual Studio merely because it's your favorite IDE, there seems to be no way to create a starter project that DOES NOT include any C# or .NET stuff, and just runs a web browser, and lets you click build and run and does the sencha build.


Warren

cdibbz
19 Jan 2016, 11:59 AM
Hi Warren,

I agree with you: there would be value in having either a sample project and/or tutorial to show basic front-end/back-end communication between .NET and Ext JS using the Web API project template. We'll add that into our feature tracking tool - thanks for the suggestion.

Regarding your comment about there not being a way to use Ext JS in a standalone fashion, I encourage you to see this section of the guide: https://docs.sencha.com/ide_plugins/visual_studio_ide_plugin.html#Ext_JS_Web_Site

The "Web Site" projects in Visual Studio give you as barebone of a project structure as Visual Studio allows.

Thanks again.

wpostma
19 Jan 2016, 12:10 PM
Oh wow.

Okay I died a little bit here.

Not your fault. I just realized that Microsoft in their infinite wisdom has separated HTML5 projects from other project types.

Here I am clicking File New Project. I should be clicking File new Website.

Because Web Sites are NOT projects, if you're Microsoft.

I did a little reading up. Here's a page of basics:

https://msdn.microsoft.com/en-us/library/dd547590(v=vs.110).aspx

It seems Web Site Projects are a bit old, and are a legacy artifact, more or less. These were marked somewhat deprecated back in 2012:

"For new development, we recommend that you choose web application projects" (Microsoft, 2012)

I believe it should be possible to make a real HTML5 .csproj project. In fact, I went and made one. I put a sample of it up here, the contents of the ext\ folder are blanked out to make the sample smaller, since this content is copied from the ext frameworks. The relevant content here is the .csproj configuration.


https://bitbucket.org/wpostma/senchastarterapp2

Maybe from YOUR point of view, supporting WEB Projects is necessary but not sufficient. There is some taint around webProjects as if they are about to be deprecated then discontinued.

Imagine I start my project and all I want it to be is pure HTML5, then later I want to add an ASP.NET MVC WebApi element to it, or I want to use some tooling added to Visual Studio that applies only to the main project type, and cannot be done in a WEB Project.

Having the Sencha IDE plugin provide both HTML5+ASP.NET and HTML5 Web Applications, and not just HTML5 Web Projects, makes sense to me.

Some documentation on your side to help people decide if they mean to create a web project, or a web application, and what those mean, may be necessary too.

WEB PROJECTS appears to be the last gasp of the Microsoft Visual WebDev tooling from the 1990s.

Warren

cdibbz
19 Jan 2016, 12:29 PM
No problem. It was a bit of a head scratcher to figure out in the first place how to accomplish something "standalone" like you were looking for. Keep sending feedback our way.

wpostma
19 Jan 2016, 12:38 PM
Check out the stuff I stuck on bitbucket. It is inspired by the Microsoft HTML5 webproject template from GitHub: https://bitbucket.org/wpostma/senchastarterapp2(you can download a zip from bitbucket without using git or mercurial)

There are two interesting hacks:

1. There is a bogus csharp file that allows the .csproj to think it's built an assembly, so we can get it out of the way.

2. I'm just using the pre-build events to execute a sencha cmd operation. I believe that should go away and be replaced by something more ide-plugin-ish.


Also I have done a bit more searching and found that people complain that WebSite projects are broken, and problematic. See this answer on StackOverflow:

http://stackoverflow.com/a/1133716/84704

Not sure if that's still a problem.

W