Hello commnunity,


Today i m exited to share with a tool that we ve been using internally for quite a long time now and that has helped us take our Ext JS developement to another level.


Working on a heavy J2EE based environment we were always looking for a way to improve our developement experience.

Tooling around Ext(and JS in general) has become verry powerful over the time(Designer, Eclipse plugin,IntelliJ, Cmd, etc ...).Libraries like ExtDirect, DJN have make (Java) backends integration enjoyable. Even though we were always able to get things done, we were not really satisfied with this approaches.

What we wanted is the ability to leverage the same language all over the application stack (from front to backend).On top of that we wanted even powerful tooling. We wanted our code to scale as the code size becomes bigger and bigger.

Meet Ext4j

Ext4j is a library that leverage Ext JS and the Google Web Toolkit(GWT) to help developers write Ext JS apps in Java and have it compile to JavaScript using the GWT compiler.
Not only do you get a high optimised JS output(The GWT compiler is one the best at generating performant JS), you also get all the tooling around Java Enterprises Softwares for free.

Why use Ext4j ?

If you are looking for strong tooling support with a language designed for big scale applications and must not use JavaScript to create Ext JS applications then Ext4j might a good choice for you.
Convincing customers of this approach could be difficult but once they see what Ext4j brings to the table their opinion will change real fast.

What does Ext4j has to offer ?

1) First the library will be FREE to use with an Apache 2 license(Ext JS licensing still applies though).

2) 100% coverage of Ext JS API. Whatever s possible in JavaScript the library aims to support and better.

3) Strong typing and IDE support at NO COST.
outlineview.jpg

This means code completion, compile time errors, real debugging, refactoring all FOR FREE.

4)
Real Softwware Engineering

Interface design, Composition, Design pattern must not be emulated. BecauseExt4j leverages the Java langague everything is there ready to use.
5) Declarative User Interface

Ext4j support GWT UI Binders giving you the ability to layout the UI in a XML based declarative way.
Code:
<x:TabPanel  height="500px" width="800px" activeTab="1">
     <x:Panel title="Chart Panel" closable="true" layout="fit">
         <x:ToolBar>
               <x:ToolBarFill/>
              <x:Button text="Reload Data" ui:field="button" />
        </x:ToolBar>
        <x:Chart ui:field="chart"/>
     </x:Panel>
     <x:Panel title="DatePicker" closable="false" bodyPadding="10" layout="vbox" >
           <x:DatePicker/>
           <x:Button text="Ext Button"/>
          <x:Slider increment="5" minValue="0" maxValue="100" width="200px"/>
      </x:Panel>
</x:TabPanel>
As you can see this is less verbose and pretty handy speciall for non prorammers(Designers).

6) Seamless Java(and others) backend integration.


Because Ext4j leverages the Google Web Toolkit you get the ability to invoke Java backend methods right from the client in Java.

7) Even more...


Version 1 is just the beginning. We are planing(with the help of the comminity of course) to make this the best tool possible for creating Ext JS application.
We are confident that after using Ext4j your Ext JS development experience will never be the same.

Real world example

While getting ready for the GA release. We are also implementing a set of applications to demonstrate what s possible with Ext4j. Below is the picture of the Ext4j Explorer.
explorer.jpg
The explorer allready contains more then 50 demos(and counting). You can see it in action here:

http://eemi2010.github.com/ext4j

What s next ?

Stay tuned for more infos here while we are getting the library ready for release.

Cheers,

Ekambos