Archetype is build as a second level Framework, it needs an "engine" Framework to work. First based on Prototype, now, Archetype can work on top of differents Framework thanks to an abstract engine abstraction. Currently you can use both Prototype and jQuery wrappers. These frameworks helps a lot in JS development, providing really good features to Javascript in a navigator environnement. For us, if we were in a "Java" world, the engine would be "java.lang" so nothing but what's needed to really start doing anything.

Most of the frameworks available provides at least one of this things:

  • Configurable Widgets
  • Navigator abstraction (DOM Helpers, etc.)
  • Language Improvement

All of this is very useful, but almost none of these frameworks are designed to help making a good clientside app.

When you work on the server side, you have plenty of frameworks to help you designing your application with a good structure, separating the view, the controller, the model, the front, the middle, and the back of your application. This ables you to have a more readable code, good practices, flexibility and efficiency in your work.

However, on the client side, there aren't all those kind of frameworks, and thus, JavaScript programming is a real pain.

Archetype is designed to fill these gaps on the clientside, in order for you to work in a good manner, with a lot of reusability.

Source: Archetype