Blogs

Web App Development IDE

Visual Studio 2013 is not very clever when used to open a web site containing our Apex single page application HTML, CSS, JSON, Javascript etc.. It seems to try and launch a 'localhost' type of environment and because our source code files are cloud hosted, this takes minutes to just even load the project. Then it periodically just hangs momentarily even editing simple files.

What's a dev to do? Well, I looked at alternative IDE's (integrated development environments) to test the market. This article is recommended reading as it highlights alternative IDE's such as Netbeans, Eclipse, Komodo, Notepad++ and WebStorm. They all are very good and in many cases superior to VS, however there is one aspect which turned out to be critical. This is that we still use Visual Source Safe (VSS) internally. Although this has been superceded by Team Foundation Server at Microsoft, we have so much code in VSS tied to automated build scripts, and do not think that TFS will not add further complications to our control and build processes. For a small ISV, why spend extra cash fixing what already works?

Visual Studio 2013 defaults to TFS, however we were able to change that and point at VSS for seamless source code check-in/out and diff analysis. No other IDE seems to support VSS. Maybe I am missing something, but no google help on this.

So, we wanted a straight single page application (SPA) which does not rely upon ASP.Net, C# or VB.Net or the .Net Framework. Unfortunately VS 2013 does not provide such a simple project. We had to settle on an empty ASP.Net project and then drag in all our existing code folders which works recursively thank heavens, and then set the index.html as the start page.

So now we have an ASP.Net web application which does not need or use ASP.Net. This is a drag, but not a major problem. What about debugging support? So we ran it and got an error where IIS 8 complained about .json files. Although we set the .json mime type in IIS manager, it seems VS2013 ignores that and requires a web.config change. Luckily the solution was documented here.

Running our SPA application using Internet Explorer as the default browser now allows full debugging of the project javascript (JS), without having to use the browser integrated debuggers. This is another major benefit of using VS2013. Interestingly, no JS debugging is available when using alternative default browsers when running the debugger. You can even edit-and-continue, but of course also have to refresh your browser to accept source code changes.

We also get full intellisense on our javascript object hierarchies which helps Apex developers fully utilise the framework.

We will now be able to utilise separate worldwide teams to develop Apex using a single IDE with an integrated source code control system, javascript framework intellisense and debugging which promotes a more structured approach for QA and rollout allowing greater scalability in our development efforts.

TriSys Web API Browser Compatibility, JQuery, CORS, XDR

TriSys partners and developers building business applications with the TriSys Web API should take note of the following advisory:

We have put in a lot of work to make the TriSys Web API as powerful, extensible, efficient and secure as possible. To achieve this however we have to let go of supporting legacy browsers which are not compatible due to well accepted inadequacies in their respective designs.

You are not able to use the TriSys Web API from Microsoft Internet Explorer (IE) 6, 7, 8 or 9 for these reasons:

  • No support for CORS - this is the cross origin resource sharing, which allows web sites to be hosted on separate domains from their data and other services.
  • No support for the industry standard XMLHTTPRequest (XHR) asynchronous mechanism. Instead, IE 6, 7, 8, 9 use their own variant called XDomainRequest which has been deprecated in IE 10.
  • IE 6, 7, 8, and 9 do not support XHR2 CORS. It is not possible to make generalized cross-domain requests in these browsers.
  • IE 8, 9 support an ActiveX control called XDomainRequest that only allows limited cross-domain requests compared to XHR2 CORS.
  • jQuery does not include XDomainRequest support because there are numerous and serious limitations to XDR (external data representation).
  • XDomainRequest does not support complex JSON objects or secure custom headers which are essential design features of the TriSys Web API.
  • XDomainRequest allows only intranet zone i.e. on-premise as opposed to geographically dispersed on-demand such as TriSys global services.
  • JQuery 2.0 and other third party open source offerings is not going to support legacy IE.

You are able however to fully utilise the TriSys Web API from the following:

  • HTML5 compliant web browsers, including:
    • Internet Explorer 10, 11
    • Firefox
    • Chrome
    • Safari
    • Opera
  • All modern tablets, including:
    • iPad
    • Android
    • Windows RT
  • All modern phones, including:
    • iPhone
    • Android
    • Windows Phone
    • Blackberry

If you are a web designer or programmer utilsing the TriSys Web API, please contact us for further information, or visit the API at api.trisys.co.uk

 


Archives
Search