In general terms, Dynamize (http://www.dynamize.net) is a development framework which allows users to rapidly develop modern web (internet) applications, from an existing database, only by creating some skeleton code. Consider the following scenario: you have a small database consisting of several tables and you need to quickly create a modern application that can be used for managing that particular database.
The standard approach to do this would be to write code that manages the existing tables, code that it is error-prone, untested and, sometimes, dangerous. By using Dynamize, all the work revolves around writing simple classes, or (in a future version) using the integrated IDE.
When creating a Dynamize application, you will get a product that is packed with advanced features. The main features behind Dynamize can be sumarized as follows:
Ext GWT is a native GWT solution using the latest GWT release and takes full advantage of GWT and Java 1.5 features. Ext GWT includes:
JSON is a very lightweight data format based on a subset of the JavaScript syntax, namely array and object literals. Because it uses JavaScript syntax, JSON definitions can be included within JavaScript files and accessed without the extra parsing that comes along with XML-based languages. But before you can use JSON, it's important to understand the specific JavaScript syntax for array and object literals.
The standard approach to do this would be to write code that manages the existing tables, code that it is error-prone, untested and, sometimes, dangerous. By using Dynamize, all the work revolves around writing simple classes, or (in a future version) using the integrated IDE.
When creating a Dynamize application, you will get a product that is packed with advanced features. The main features behind Dynamize can be sumarized as follows:
- Express development
- Easy to use API
- Steap learning curve
- Compatibility with all current major browsers
- Fully asynchronous data loading and interaction for a rich web experience
- Security enabled application with login form using CAPTCHA inputs
- Multiple editing sheets, each editing sheet being associated to an existing database table
- Excel-like tables for editing data with in-place editing capabilities
- Advanced filtering capabilities
- Advanced paging capabilities
- Data sorting
- Data grouping, including collapsible groups
- Ability to use data gathered from multiple database tables
- Predefined controls for existing data types (calendars, color-pickers, rich-editors, combo boxes, trees)
- Ability to extend it with custom controls for custom data types (imagine selecting a location from a map: you could implement a small control containing, for instance, an application realized by using Google Maps)
- Ability to edit tree-like data (for instance, consider that you have a table in which you store a category tree: categories may have subcategories, subcategories may have sub-subcategories and so on)
- Ability to define advanced validations: number validation, email validation, URL validation, regular expression validation
- Predefined color themes
Technologies Used: GWT
Dynamize uses a wide range of technologies. The heart of the product is GWT (Google Web Toolkit), a framework that allows developing web application by writing Java code. The official description, as found on the GWT official page states:
Writing web apps today is a tedious and error-prone process. Developers can spend 90% of their time working around browser quirks. In addition, building, reusing, and maintaining large JavaScript code bases and AJAX components can be difficult and fragile. Google Web Toolkit (GWT) eases this burden by allowing developers to quickly build and maintain complex yet highly performant JavaScript front-end applications in the Java programming language.
Technologies Used: ExtGWT
Ext GWT is a Java library for building rich internet applications with the Google Web Toolkit (GWT). It has a number of high performance, customizable widgets that provide a great foundation for building your applications. Let us worry about cross-browser issues, HTML and CSS. Ext GWT is more than just widgets. Ext GWT includes a convenient model abstraction allowing your domain object to be passed transparently between server and client side components. Also, Ext GWT includes a hierarchical MVC implementation with full history support.
Ext GWT is a native GWT solution using the latest GWT release and takes full advantage of GWT and Java 1.5 features. Ext GWT includes:
- High performance, customizable UI widgets
- Full theming support with standard CSS
- Well designed, consistent and fully documented source code
- Native GWT solution with no external JavaScript or 3rd party libraries
- Full remote procedure support using GWT RPC, JSON, and XML
- Support for Java 1.5 features, including generics, enums, and varargs
- Commercial and Open Source licenses available
Technologies Used: JSON
With the still-rising popularity of web services, XML has practically become the de facto standard for data transmission. However, XML is not without its detractors. For example, some consider it to be overly verbose for data transmission purposes, necessitating many more bytes of information to be sent across the Internet to accomplish what could have been done in a much smaller form. To take this into consideration, new forms of XML compression and even entire new XML formats, such as Binary XML, have been developed. All these solutions work on extending or adding on to XML, making backwards compatibility an issue. Douglas Crockford, a long-time software engineer, proposed a new data format built on JavaScript called JavaScript Object Notation (JSON).
JSON is a very lightweight data format based on a subset of the JavaScript syntax, namely array and object literals. Because it uses JavaScript syntax, JSON definitions can be included within JavaScript files and accessed without the extra parsing that comes along with XML-based languages. But before you can use JSON, it's important to understand the specific JavaScript syntax for array and object literals.
{
"total":"12",
"records":[
{"id":"3","categorie_ro":"Accesorii","categorie_en":"Accessories","color":"#339900","link":"accesorii"},
...
{"id":"11","categorie_ro":"Bricolaj","categorie_en":"DIY","color":"#330066","link":"bricolaj"},
{"id":"16","categorie_ro":"Hipermarket","categorie_en":"Hypermarket","color":"#FF3300","link":"hypermarket"},
{"id":"10","categorie_ro":"Inc\u0103l\u0163\u0103minte","categorie_en":"Footwear","color":"#CC6600","link":"incaltaminte"}
]
}