-
20 Feb 2013 1:13 PM #1
Ext4j : Another approach on Ext JS development
Ext4j : Another approach on Ext JS development
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.
As you can see this is less verbose and pretty handy speciall for non prorammers(Designers).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>
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
-
20 Feb 2013 1:37 PM #2
Very nice ... thank you for sharing!
Scott.
-
21 Feb 2013 1:32 AM #3
Brillant !
After a lot of PHP based solutions(Bancha, Ext4 Yii, etc...)
Finally something for us Java Devs.
When should we expect this ?
-
21 Feb 2013 3:50 AM #4
Interesting indeed.
Nice demo app by the way.
The app is written with Ext4j ?
Why should one using your tool instead of Sencha GXT ?
-
21 Feb 2013 2:51 PM #5
@Scott.
Thx. Really appreciate
@WebUser
Thx
As a Java Devs myself i understand where you are coming from.
There is not ETA yet. I will definitely share more in the coming days.
GA release is not faar away.
@GXTUser1
Yes the Explorer is written with Ext4j
Like i said in my previous post we will be adding more demos before GA.
"Why should one using your tool instead of Sencha GXT ?"
Well we created Ext4j because our customers wanted an Ext JS solution.
We just convinced them that that solution must not be written in JavaScript.
Most of them allready have a Ext JS license and were not willing to buy a GXT license.
The library primary aims to help people in the same situation.
Beyond that we simply aim to be a great alternative for Web development period.
Combining Ext JS and Java in the way we do has a big potential and hopefully you guyz will also see it that way
-
27 Feb 2013 3:40 PM #6
A better real world example will follow in a few.
Stay tuned
-
1 Mar 2013 3:16 AM #7
Every once in a while somebody comes around and says XML is so much better...
For me personally this is a mess:
But I guess your platform is something good for the java people, keep up.PHP 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>
/P
-
1 Mar 2013 5:06 AM #8
Well some people prefer a more declarative approach. Specially non programmer.
Plus XML layouting gives a basis for a visual editor (Stay tune for more in that direction
)
But you must not use XML. One can do it all in code
While the library use Java as input language it targets every developer.PHP Code:Panel p = new Panel(Layout.FIT);
p.add(new Button("Click Me");
//more code here
Give it a try
.
Cheers,
E
-
4 Mar 2013 1:01 PM #9
I'm not very familiar with GWT world. Can you explain how to implement custom new component created with ExtJs to Ext4j?
-
4 Mar 2013 1:20 PM #10


Reply With Quote
