Domain: itmill.com
Stories and comments across the archive that link to itmill.com.
Comments · 16
-
Re:The Main Problem With GWT -- No Persistence
IT Mill Toolkit provides server-side API:s on top of GWT and thus gives you direct access to "stuff like EJB3". For an example, see this tutorial
-
Re:The Main Problem With GWT -- No Persistence
IT Mill Toolkit provides server-side API:s on top of GWT and thus gives you direct access to "stuff like EJB3". For an example, see this tutorial
-
IT Mill Toolkit uses it
To take the "anyone" in its strictest definition, yes, someone is using it. I'm working for a company that develops an opensource UI toolkit for Java, that takes heavy use of GWT.
OTOH, this is probably the only application outside of Google I, too, have seen using GWT.
-
Re:v2.0I've only met one other person IRL who even knew how to code Javascript properly. That's one reason not to use JavaScript. If you want to code browser stuff, use GWT, at least as much as you can. There are 100 times more good Java programmers as there are JavaScript programmers.
And if you're doing Ajax, use IT Mill Toolkit to develop the application as server-side and let the framework handle the Ajax and client-side stuff, and only code any custom client-side stuff with GWT (or with JavaScript if you really need to). -
Re:reboot the web!
I think that (just released) IT Mill Toolkit 5 is an answer to most of your questions:
*works on the server and the client
=> Java both on server and client.
*something that makes making UIs as easy as drag and drop
=> Not there yet. UI:s are programmed, but layouts can be composed in WYSIWYG manner.
*something that does not forgive idiot html "programmers" who write bad code
=> As it is based on Java, it has statical typing and compile-time checks.
*something that doesnt suffer from XSS
=> As most of the UI programming can be done on server-side, security is top notch (when comparing to client-side solutions)
*something that can be extended easily
=> Check
*something that can be "compiled" for faster execution
=> Check
*something thats implemented same way in all browsers (or even better doesnt require a browsers and works on range of platforms)
=> Relies on Google Web Toolkit compiler technology to abstract out browser differences. Google has done wonderful job with GWT 1.4 and while as runtime is not as fast as Flash, it is very browser agnostic. Furthermore - as most of the programming can be done on server, all UI widgets can be tested with wide variety of browsers. -
Re:will AJAX development finally be easy?AJAX is incredibly useful, but it's mostly a really clever hack. The need for dynamically updating elements on the web page is definitely there, and AJAX manages to fill that need somewhat. But Javascript/DOM + XML/HTML is a terrible set of tools to build GUI widgets with. [...] there really needs to be a fundamental change that better integrates these technologies. May I suggest: IT Mill Toolkit. It let's you develop application logic on the server-side in a way almost identical to programming desktop applications. You can forget JavaScript, DOM, XML, AJAX, and even HTML. The applications simply load a client-side adapter into the browser that forwards most user events to the server-side application with AJAX calls, and handle only very limited user interaction in the browser. If you need to customize the client-side, for example, to create some widgets, you can use Java and compile it to JavaScript with GWT. The first time you try to use a cool feature of your favorite GUI widget, and expect it to work the way your favorite desktop widget does, the cool-factor quickly degrades into frustration. I think the only difference (at least with IT Mill Toolkit) is that the appearance of widgets is defined with CSS instead of API methods. That gets you a bit involved with HTML, so it's a bit bothersome, but the advantage is that you get to separate the appearance from the code. And that's very useful, as the graphics designer can do the theming without getting involved with programming. So it's a trade-off.
Disclaimer: I work for the company. -
Re:will AJAX development finally be easy?
If you're already into GWT, try out IT Mill Toolkit. It lets you do the same as GWT, but you don't need a separate server-side application: you only write the server-side and the toolkit does the client-side. So, it really simplifies application development. If you have some GWT widgets that you would like to integrate, or to modify some of the standard widgets, the client-side code of IT Mill Toolkit is GWT.
Disclaimer: I work for the company. -
Re:will AJAX development finally be easy?The change is from synchronous to asynchronous web applications. That's about as big a change as writing distributed applications for someone who mostly wrote 1-tier applications. Design is different as is debugging. Actually, there is a solution for that. Take the architecture of IT Mill Toolkit, for example. The application UI logic runs on server-side, and AJAX is just used to turn the web browser into a thin client or a terminal. The architecture basicly makes the client tier invisible to application logic so that programming is practically identical to 1-tier (desktop) applications.
public class HelloWorld extends com.itmill.toolkit.Application {
And that's a fully AJAX-enabled application. Well, there isn't any user interaction or complex widgets in this program, but you get the idea. Check out the demos for better examples. Some widgets, such as the Table, load just the visible part of the table to the browser, and when the user scrolls the table, it loads more stuff dynamically. So, doing AJAX doesn't require you to bother with AJAX programming.
public void init() {
Window main = new Window("Hello window");
setMainWindow(main);
main.addComponent(new Label("Hello World!"));
}
}
Debugging IT Mill Toolkit applications is also identical to debugging desktop applications. Just use your favorite IDE, such as Eclipse, to debug the server-side application. If you develop your own client-side widgets, you can do debugging with the GWT Hosted Mode Browser (and Eclipse or some other IDE). IT Mill Tookit's client-side is written with Java and compiled with GWT to JavaScript that runs on the browser.
This is really the direction where AJAX programming will go.
Disclaimer: I work for the company, yada yada. -
AJAX best done without JavaScript
Doing big AJAX applications is not practical with JavaScript. You would need to do both client and server development, handle communications, and do that in two different languages.
Take the approach of IT Mill Toolkit, for example. You don't need to see a line of JavaScript. Actually, you don't need to code anything on the browser, but all the UI logic is done in the server-side application. The JavaScript running on the browser simply turns it to a thin client that does some trivial user interaction in the browser and forwards most of user events to the server-side application. And if you need some custom client-side stuff, you program it in Java with Google Web Toolkit (GWT).
Disclaimer: I work for the company. -
Re:Why GWT Isn't A Good Framework
"there are no frameworks (that I know of) that provide for things like fully semantic code, graceful degradation of capabilities, and full separation of content, behavior, and presentation"
Millstone UI Librarys base philosophy has been since its launch under LGPL in year 2002 to: (1) Program semantic (logical) users interfaces in Java, (2) Fully separate the presentation and behavior layer, (3) Gracefully adapt to "any" browser/terminal. You can create an user interface in Java and then use it with lynx (plain HTML without JavaScript) as well as with Firefox (or other AJAX capable browser) where the actions does not require changing pages. You can even create adapters for complitely different terminals - there has been prototypes for Swing, WAP, J2ME and Personal Java.
See online AJAX demo in http://demo.itmill.com/AJAX/ -
Comparison: echo2, millstone, gwt, zk
Quick comparison of "program AJAX UI in Java frameworks":
echo2: released, server side executed, wysisyg ui editor
millstone: prerelease, server side executed, theme separated from application
zk: released, server side executed, xul support
google web toolkit: beta, java executed on client, google brand
All of the toolkits try to solve the same problem - allow creation of rich web ui with Java and avoid infinite testing often with JavaScript centric AJAX programming. From technical point of view, millstone, echo2 and fk are fairly similar. Google stands out with novel idea of cross-compiling java to javascript, that might make UI more responsive, lower server load and introduce security problems and make creation of client-server separation harder.
From marketing point of view the game is quite clear - Google is the brand.
echo2, zk and millstone are backed by small companies that support and live from the frameworks. All those products somehow combine open source licensing with business. Googles motivations are not clear in this stage.
For a quick demo about Millstone, see:
http://demo.itmill.com/AJAX/
Disclaimer: I am CEO of IT Mill Ltd that is the company behind Millstone UI Library. -
Competition
Echo has a wonderful model of writing web user interfaces. My company IT Mill Ltd is the author of an Open Source lisenced (LGPL) Millstone User Interface Library that is very similar (in model) to Echo. In my (biased of course) opinion Millstone provides developers with better UI components and more flexibility.
Main difference is that Millstone UI components are not dependant on Web, but has been (as prototypes) shown to work also in Swing. When doing Web-development, Millstone provides flexibility of using XSL stylesheets (in addition to CSS) for themeing, which makes customization of Millstone UI easy and flexible.
See the the online demo. If you have any questions, please join our just opened discussion forum.
BTW: In addition of being an Open Source project, commercial support is provided (by us) and currently Millstone is used (has been for 3 years) in very large commercial applications.
-
Re:How does this compare with Echo?
First a disclaimer: I am one of the head developers of Millstone and CEO of the company behind it.
I see that the difference in the nunber of features between Echo and Millstone is huge -- in favour of Millstone. I think that this can be most easily demonstrated by just going through Millstone feature online demo (also available for download) and Echo Test application. Some of the most obvious differences are: extensive data binding, server side events, tree component and xsl-theme support.
Still Echo is very nice framework and provides good competition for Millstone. I hope that the both frameworks gain popularity.
-
Re:Great name
In fact the name was meant to describe a stable core that is spinning inside the mill (Millstone was targeted to be internal tool in the beginning). Anyway - blame me, as I was the one who came up with that name...
-
Re:once again...
Keep in mind that the company open sourced their core product. Would you rather read about closed source products, of which there is no lack in
/. anyway? -
Re:Great name
Lol, good irony indeed, yet the real etymology of the name, is the name of our company that created it, IT Mill Ltd.
Miq