Showing posts with label javascript. Show all posts
Showing posts with label javascript. Show all posts

Sunday, February 3, 2013

Typescript : useful entry points

The typescript community is not very widespread until now, but some interesting initiatives make the growing of this community easier... Here are few entry points to search and find features you need :
With this, you may start to build something interesting with TypeScript ; personnaly, we started to use it on a project, and I like the language a lot for the flexibility it offers to me, while giving me software engineering means for building robust and maintenable code.

I think the next step  is to offer the community with a good development framework written in typescript, for typescript developpers... This client-side framework would be able to ensure the following :
  • MVC-like features
  • history management
  • efficient ajax capabilties
  • i18n 
  • event notifications between view
  • security
  • good development patterns
  • and so on...
It should be simple to understand, easy to use, easy to configurate, and so on...
Interested in?

update : an very interesting bunch of articles about the single-page web application development ; clear and concise
http://singlepageappbook.com

Saturday, January 12, 2013

Typescript, a software engineering issue

Software engineering is the art of doing well applications for computers. We use many means for achieving such a goal : tools, methodologies, formalisms, languages, management tricks, well educated developers, and so on... We could have the best language in the world, without the other means described above, it would have not to be chosen to develop industrial-oriented software.

I'v been convinced of this since many years, and I applied this principle first to Smalltalk in 90' when I chose Java instead of my beloved Smalltalk. Smalltalk was great, well defined, flexible, even beneficing of great development tools... but it was a nightmare to deploy, to make collobaroration effective , to make short, to enable big teams to work together...except by using quite expensive tools like Visualage for Smalltalk for instance... Java at once were supported by a big community, eclipse and its plugins enable to easily connect to a source control management tool, or to interface with UML tools, and so on... It was 15 years ago...

About Javascript, i followed such a thinking path when I chose GWT to develop webapps in 2006 ; javascript is wonderful language, very flexible as Smalltalk can also be, having a great inventive community behind it, ... But it was a nightmare for ensuring code quality, perenity of the code, portability, readability, bad development tools, etc... GWT was then a good answer to all this drawbacks, and may still a good choice (if the future of the technology is made clearer by the consortium being in charge of ensuring its future).

The coming of typescript 4 months ago may change this if everything is well controled. Typescript offers the software engineering touch to javascript which was missing...without withdrawing any of its strenghts, especially the flexibility and the plasticity of the language. And with the advent of HTM5, and the true portability of the language across browsers, we may think it is the right moment to switch to javascript, and especially typescript for developping webapps...

Of course it will be needed to consolidate the software engineering stuff, but if we look after the framework part (which consists in brief to take into account security, form validation, database access, communication with server, UI design, history management, i18n management, and so on...) we could propose the following for start :
  • rest
  • http://resthub.org/backbone-stack.html
  • http://foundation.zurb.com/
  • http://domo-js.com
  • http://typescriptlang.org
  • https://github.com/borisyankov/DefinitelyTyped
  • http://linqjs.codeplex.com/
With this package we can do a lot on the client side ; I let you the choice of the backend stuff (but in stateless mode) ; java, dotNet, Go, even node.js...

Have fun...