What are the patterns in html / javascript RIA development?

When creating large GUI applications in other languages, such as C # or Java, we have various templates, such as MVP, MVC, MVVM, and even complete instruction packages, such as Prism (WPF / Silerlight), which help us support our code is maintainable, extensible, and keep application complexity at a normal level.

But when it comes to large RIA applications written with html / javascript, it's hard for me to find really good resources.

What to do and not do to create a large RIA application in html / javascript (to create applications such as Gmail, Google Calender, Google Docs)?

+4
source share
2 answers

The development of rich Internet applications is still a very young topic, and there are many different approaches, every day more and more appear. In addition, JavaScript is a completely different language that enterprise developers are used to.

What you imho should NOT do is try to avoid developing in JavaScript directly. Of course, there are many frameworks that seem to help you get around the JS part (GWT and .NET Framework AJAX work well), but you can never use the full potential of the language itself and your rich Internet application will be forever tied to your server language / language structure and its capabilities, which is completely optional and, in my opinion, poor design. I would separate server programming as much as possible from client programming. Unlike old school web applications, you can request and process any data asynchronously, so it is not necessary for your web server to generate (generated, I mean generating HTML with the server language) any HTML code in general. With server-side data sharing and client-side presentation, you will lose most of the complexity that RIA can create with other approaches (for example, trying to click on it in one of the old-fashioned server-side MVC structures).

On the client side, you will be depending on your loved ones that you choose. There are many different frameworks that follow different ideas. You can focus on DOM manipulation , based on components with a focus on GUI elements or in the following figure the client-side MVC pattern ... etc.

+3
source

The patterns are pretty linguistic agnostics. There is nothing specific to javascript / html that I know of. Well, besides the module template, but it’s not really a thing for application development, it’s more about style.

Since you are from the big live C # Java CLASS, a hard, static, object-oriented world, I would suggest taking a look at functional programming languages ​​like lisp and haskell to look at those design patterns if you are looking for something new and interesting . Javascript can combine functional language patterns or object-oriented patterns.

Read javascript.crockford.com to give you some idea of ​​what things are possible in javascript and which style templates make sense.

Application design is basically the same in every language.

+1
source

All Articles