We’ve started to implement a Script# project in an attempt to maximise the productively of our development team. These are our reasons:
ASP.NET with Microsoft AJAX
We’re running with an implementation of a web application that uses a server based model as opposed to a full client script implementation. When I say server based, I mean the style of Microsoft AJAX that would only send the different between post backs to ‘mimic’ a client application.
Existing JavaScript Library
While discovering the errors of our ways with the server based client script we rapidly had to alter our strategy to tackle the responsiveness of our web application; it was slow! Being stuck with Microsoft Ajax we created a JavaScript library based on the Microsoft AJAX client library available.
We started to produce wins with regards to the feedback received on the increase of responsiveness; however; we started to lose on the development side. Client side development was slower.
We were using Visual Studio 2005, notepad, aptana but when there are no solid tools to allow efficient development of JavaScript and experience of JavaScript is limited you start to experience a development slow down and skills knowledge transfer is a pain in the butt. You end up with owners for various parts of the system.
So, we’re stuck in a rut. We have tight pressured deliverables and development is not efficient when compared to various other frameworks like GWT. We can’t just start again either.
Script# seems to fit
We have started to develop a separate component or a deliverable area by using Script#.
We have two projects:
Library: This contains empty classes that describe the expected definitions of our current JavaScript library and framework. This is intended to be referenced by future Script# projects. We are therefore not throwing hundreds of man hours away.
Feature: This contains the new feature development. We’re able to construct new input controls from our framework by referencing our Library project. This allows us to write in C# and generate JavaScript.
The reason for separating projects was to allow for a ‘requires’ feature with JavaScript. We currently request every single JavaScript file despite whether or not its used. With a requires methodology we aim to only request JavaScript files when we need them.
I have good feelings about Script#; despite the errors of our ways we’ll be able to move forward more quickly in the future. Script# is clever and it allows us to utilise the majority of developers with C# .NET backgrounds by allowing them to work with a consistent / familiar environment.
Hopefully, with fingers crossed; development time should decrease and we’ll be able to create some breathing room. That's the theory anyway.
No comments:
Post a Comment