667476 members! Sign up to stay informed.

Sponsored Links


Resources

Enterprise Java
Research Library

Get Java white papers, product information, case studies and webcasts

News News News Messages: 88 Messages: 88 Messages: 88 Printer friendly Printer friendly Printer friendly Post reply Post reply Post reply XML XML XML

jSeamless - UI Abstraction for Java

Posted by: Matthew Hicks on May 22, 2007 DIGG
jSeamless 1.0 Beta 3 is now available for download. The structure of the API is similar to that of AWT/Swing but has no explicit ties to any other framework. One of the major benefits to jSeamless is the ability to create entire web sites (like the jSeamless site) entirely in Java. The reference implementation of the framework utilizes Flex but there are many other implementations in the works (HTML, Swing, OpenGL, J2ME, etc).

Though this framework is still in beta stages it offers significant possibilities to Java developers who are sick of the J2EE approach, or simply do not want to spend their time trying to glue HTML, JavaScript, CSS, JSPs, Servlets, JSF components, etc. together to make a web site.

Finally, the ability to develop your UI once and then deploy it as a web application and/or a desktop application without writing any additional code should be enough to get any developer or manager interested.

Visit the web site at http://www.jseamless.org for further details, documentation, examples, and tutorials.

Threaded replies

·  jSeamless - UI Abstraction for Java by Matthew Hicks on Tue May 22 07:54:26 EDT 2007
  ·  nice widgets by Siarhei Dudzin on Tue May 22 08:27:58 EDT 2007
    ·  re: nice widgets by Matthew Hicks on Tue May 22 08:54:29 EDT 2007
      ·  good luck by Siarhei Dudzin on Tue May 22 09:16:57 EDT 2007
        ·  re: good luck by Matthew Hicks on Tue May 22 09:34:10 EDT 2007
      ·  Flex and Socket communication by s s on Wed May 23 02:14:47 EDT 2007
        ·  Re: Flex and Socket communication by Matthew Hicks on Wed May 23 08:19:28 EDT 2007
    ·  OpenLaszlo? by Aaron White on Tue May 22 16:25:33 EDT 2007
      ·  Re: OpenLaszlo? by Matthew Hicks on Tue May 22 16:53:05 EDT 2007
        ·  OpenLaszo vs. jSeamless: locked to Java? by Brian Sayatovic on Wed May 23 16:08:34 EDT 2007
          ·  Re: OpenLaszo vs. jSeamless: locked to Java? by Matthew Hicks on Wed May 23 18:55:14 EDT 2007
    ·  Docs about architecture by Jaime Canas on Tue May 22 17:32:33 EDT 2007
      ·  Re: Docs about architecture by Matthew Hicks on Tue May 22 18:47:43 EDT 2007
    ·  how about JCitrix, JFlash, JActiveX, JYoMamma by Tal Dega on Wed May 23 04:28:03 EDT 2007
      ·  oh I forgot to say by Tal Dega on Wed May 23 04:30:14 EDT 2007
        ·  ok dude I gotta better one by Tal Dega on Wed May 23 04:32:13 EDT 2007
      ·  Re: how about JCitrix, JFlash, JActiveX, JYoMamma by Matthew Hicks on Wed May 23 08:23:41 EDT 2007
  ·  Copy Of Echo2? by Daan de Wit on Tue May 22 09:13:01 EDT 2007
    ·  re: Copy Of Echo2? by Matthew Hicks on Tue May 22 09:29:57 EDT 2007
      ·  Re: Copy Of Echo2? by Daan de Wit on Wed May 23 11:43:22 EDT 2007
        ·  Re: Copy Of Echo2? by Matthew Hicks on Wed May 23 12:15:11 EDT 2007
          ·  Re: Copy Of Echo2? by Mark Nuttall on Wed May 23 12:42:00 EDT 2007
            ·  Re: Copy Of Echo2? by Matthew Hicks on Wed May 23 12:53:46 EDT 2007
              ·  Re: Copy Of Echo2? by Mark Nuttall on Thu May 24 08:22:12 EDT 2007
                ·  Re: Copy Of Echo2? by Matthew Hicks on Thu May 24 08:36:17 EDT 2007
                  ·  Re: Copy Of Echo2? by Mark Nuttall on Thu May 24 16:07:27 EDT 2007
  ·  Does it has a Future ?? by ed bras on Tue May 22 10:04:57 EDT 2007
    ·  Re: Does it has a Future ?? by Matthew Hicks on Tue May 22 10:18:28 EDT 2007
      ·  Re: Does it has a Future ?? by michele michele on Tue May 22 10:53:41 EDT 2007
        ·  Re: Does it has a Future ?? by Matthew Hicks on Tue May 22 12:02:50 EDT 2007
          ·  Re: Does it has a Future ?? by Holger Engels on Fri May 25 07:37:52 EDT 2007
            ·  Re: Does it has a Future ?? by Matthew Hicks on Fri May 25 09:43:30 EDT 2007
  ·  Re: jSeamless - UI Abstraction for Java by Wei Cui on Tue May 22 12:17:48 EDT 2007
    ·  Re: jSeamless - UI Abstraction for Java by Matthew Hicks on Tue May 22 12:27:11 EDT 2007
  ·  Name rip off by Bill Burke on Tue May 22 13:14:31 EDT 2007
    ·  Re: Name rip off by Preston Sheldon on Tue May 22 13:35:52 EDT 2007
      ·  Re: Name rip off by Matthew Hicks on Tue May 22 13:55:23 EDT 2007
    ·  Re: Name rip off by Cameron Purdy on Tue May 22 15:10:10 EDT 2007
    ·  Re: Name rip off by Ales Justin on Wed May 23 04:21:47 EDT 2007
  ·  Love it, but needs work by Mark Waschkowski on Tue May 22 13:21:51 EDT 2007
    ·  Re: Love it, but needs work by Matthew Hicks on Tue May 22 13:52:59 EDT 2007
  ·  Re: jSeamless - UI Abstraction for Java by Wei Cui on Tue May 22 13:33:02 EDT 2007
  ·  accessible? by Christopher Brind on Tue May 22 15:36:03 EDT 2007
    ·  Re: accessible? by Matthew Hicks on Tue May 22 15:55:37 EDT 2007
      ·  Re: accessible? by Sal F on Tue May 22 16:20:09 EDT 2007
        ·  Re: accessible? by Matthew Hicks on Tue May 22 16:48:58 EDT 2007
          ·  Re: accessible? by Sal F on Tue May 22 17:15:19 EDT 2007
            ·  Re: accessible? by Matthew Hicks on Tue May 22 18:43:11 EDT 2007
  ·  A little niche by eisen hower on Tue May 22 21:17:04 EDT 2007
    ·  Re: A little niche by Matthew Hicks on Tue May 22 22:10:12 EDT 2007
      ·  If all the effort... by Tal Dega on Wed May 23 06:15:24 EDT 2007
        ·  Re: If all the effort... by Mark Waschkowski on Wed May 23 08:23:24 EDT 2007
        ·  Re: If all the effort... by Matthew Hicks on Wed May 23 08:28:03 EDT 2007
        ·  Re: If all the effort... by Frank Bank on Wed May 23 10:52:01 EDT 2007
          ·  Re: If all the effort... by Mark Nuttall on Wed May 23 10:54:46 EDT 2007
          ·  Re: If all the effort... by Matthew Hicks on Wed May 23 10:59:45 EDT 2007
            ·  Re: If all the effort... by Frank Bank on Wed May 23 11:12:50 EDT 2007
            ·  Re: If all the effort... by Cameron Purdy on Wed May 23 12:19:16 EDT 2007
              ·  Re: If all the effort... by Frank Bank on Wed May 23 12:34:52 EDT 2007
                ·  catharsis by Cameron Purdy on Wed May 23 14:13:30 EDT 2007
                  ·  Re: catharsis by Frank Bank on Wed May 23 14:36:18 EDT 2007
                  ·  Re: catharsis by Matthew Hicks on Wed May 23 14:40:26 EDT 2007
  ·  Re: jSeamless - UI Abstraction for Java by J Dev on Tue May 22 23:51:22 EDT 2007
    ·  Re: jSeamless - UI Abstraction for Java by Matthew Hicks on Wed May 23 08:15:28 EDT 2007
  ·  The community needs this by Simon Godden on Wed May 23 08:26:56 EDT 2007
    ·  Re: The community needs this by Daan de Wit on Wed May 23 11:41:17 EDT 2007
    ·  Re: The community needs this by Matthew Hicks on Wed May 23 12:04:34 EDT 2007
  ·  Re: jSeamless - UI Abstraction for Java by Simon Godden on Wed May 23 08:35:38 EDT 2007
    ·  Re: jSeamless License by Matthew Hicks on Wed May 23 09:52:37 EDT 2007
  ·  similar to wiser? by Nicola Viragine on Wed May 23 10:15:55 EDT 2007
    ·  Re: similar to wiser? by Matthew Hicks on Wed May 23 10:35:39 EDT 2007
      ·  Re: similar to wiser? by Nicola Viragine on Wed May 23 10:59:30 EDT 2007
        ·  Re: similar to wiser? by Matthew Hicks on Wed May 23 11:13:24 EDT 2007
  ·  Great stuff Matthew by Frank Bank on Wed May 23 10:37:47 EDT 2007
    ·  Re: Great stuff Matthew by Mark Nuttall on Wed May 23 10:53:08 EDT 2007
    ·  Re: Great stuff Matthew by Matthew Hicks on Wed May 23 10:59:15 EDT 2007
  ·  Stay On Track by Travell Perkins on Wed May 23 18:38:15 EDT 2007
    ·  Re: Stay On Track by Matthew Hicks on Wed May 23 19:01:30 EDT 2007
      ·  Swerve Beta by Travell Perkins on Thu May 24 03:50:27 EDT 2007
  ·  Good job by jose labeaga on Thu May 24 02:51:15 EDT 2007
    ·  Re: Good job by Matthew Hicks on Thu May 24 08:33:45 EDT 2007
  ·  Half Objects by Travell Perkins on Thu May 24 11:05:13 EDT 2007
    ·  Re: Half Objects by Matthew Hicks on Thu May 24 11:57:16 EDT 2007
      ·  Re: Half Objects by Travell Perkins on Thu May 24 16:20:08 EDT 2007
        ·  Sliding Off by Matthew Hicks on Thu May 24 16:34:03 EDT 2007
        ·  Re: Half Objects by Frank Bank on Fri May 25 05:18:40 EDT 2007
          ·  Re: Half Objects by Matthew Hicks on Fri May 25 09:41:17 EDT 2007
  ·  javafx by Joel Schuster on Mon Aug 06 11:27:37 EDT 2007
    ·  Re: javafx by Matthew Hicks on Tue Aug 07 20:04:47 EDT 2007
  Message #233159 Post reply Post reply Post reply Go to top Go to top Go to top

nice widgets

Posted by: Siarhei Dudzin on May 22, 2007 in response to Message #233111
Looks interesting and nice widgets although a bit heavy (mouse is lagging and not without errors during entering the site the second time). Is it revolutionary in comparison to Google Web Toolkit? Does this framework deal with different versions of flash player (minimal requirements)?

  Message #233161 Post reply Post reply Post reply Go to top Go to top Go to top

re: nice widgets

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233159
The heavy aspect is a result of using Flash/Flex. This is only the reference implementation of jSeamless though. There will also be an HTML implementation that could be used instead.

Definitely revolutionary in comparison to GWT. See this response about GWT.

The minimum requirements for the Flash implementation is version 9, but one of the great things about flash is its ability to update itself if you are running an older version.

  Message #233162 Post reply Post reply Post reply Go to top Go to top Go to top

Copy Of Echo2?

Posted by: Daan de Wit on May 22, 2007 in response to Message #233111
It might be me being suspicious, but it looks like it's a copy of Echo2. Even the names of the online examples are almost the same. I might be wrong (I apologize if that is so), but if it is indeed a copy, I think credit should be given to the Echo2 developer(s).

The main difference is that jSeamless seems to have multiple implementations (flex/opgengl) whereas Echo2 is only implemented for DHTML. But the design is the same as jSeamless, it is certainly possible to create a flex or ogl implementation for Echo2.

  Message #233163 Post reply Post reply Post reply Go to top Go to top Go to top

good luck

Posted by: Siarhei Dudzin on May 22, 2007 in response to Message #233161
You are talking about windows of course, other platforms may be not as 'up-to-speed' with versioning as windows platform, what about mobile devices?
I am curious how the html implementation will be looking like. Can this product be unit tested? What about in- and out- of container testing? IDE?

I am wondering how/whether those points are addressed by your product.

Anyway, I wish you good luck with jSeamless, if the html implementation will be as rich as jsf/ajax application, having as nice widgets as you have now for Flex and the development speed can be comparable to Seam/Rails, it may actually be very interesting product...

  Message #233164 Post reply Post reply Post reply Go to top Go to top Go to top

re: Copy Of Echo2?

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233162
There are definite similarities between Echo2 and jSeamless. I actually didn't know about Echo2 when I started jSeamless but almost abandoned the project when I found it. I spent quite a bit of time working with Echo2 and finally decided it wasn't quite as powerful as what I wanted to create. Further, I really believe that a UI abstraction is the right way to go for the future of Java UI creation.

Most of the similarities are due to standard concepts in UI design as far as naming and examples go. I did look in-depth at many different approaches and got inspiration from different frameworks, so there is definitely some credit due to Echo2 if only early proof that it can be done. I've considered the idea of making the HTML implementation a wrapper around Echo2 since it already has the majority of features I would need.

  Message #233166 Post reply Post reply Post reply Go to top Go to top Go to top

re: good luck

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233163
Flash 9 can be run on Windows, Linux, and Mac. As far as mobile devices, I don't know of any that currently run flash, but this is where other implementations of the framework come in. There is currently an endeavor to create a J2ME implementation of jSeamless so the same UI you created for the web site using Flash can also be utilized for cell-phones.

Unit testing should be extremely easy since the framework consists of pure beans...you can programmatically create and manipulate the entire UI in a headless server. There are plans to create a testing implementation of jSeamless to allow UI testing via an XML or JUnit rather than having to test via some web-based testing framework that requires a server running or something like JFCUnit.

  Message #233169 Post reply Post reply Post reply Go to top Go to top Go to top

Does it has a Future ??

Posted by: ed bras on May 22, 2007 in response to Message #233111
I think the idea is great but.... there are many great idea's out there..
My concern: who are the sponsors and companies behind the development ?
If this isn't well organized, it will slowly die..

Look at GWT. Once up in a time there is(was) Java2Script Pacemaker... Awesome tool... but still not widely used and accepted because of sponsors...

Same same counts for Echo 2 if you ask me.
I build an application with it.. but I got into all kind of problems.. I thought: "maybe I have to wait another year so it matures more"... It's now more then a year ago and they just came out with a new update....
It's a pitty because I love their programming model.. much better then GWT if you ask me.
It's funny because GWT started about a year ago and if you see how it hit of and activity in their forum(s) and on other sites... Reallly amazingggg...

Good luck

  Message #233171 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Does it has a Future ??

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233169
There are various companies that I've talked to that are interested in jSeamless as well as a few open-source projects. However, this is still pretty early development and only a few people have shown interest in developing for it.

What you see on the web site is the work of one person...me. I don't intend for it to stay that way though. I would love to have other experienced developers helping in development of the project and expanding the number of implementations for it.

The future of this project is defined by those that see it and either decide to help the project or pass it by. If you see anything broken or lacking I only ask that you point it out so it can be fixed. If you have the ability and desire to fix it yourself then all the better.

A revolutionary idea such as this definitely runs the risk of never catching on if nobody is willing to jump out and use it in the first place. However, if there's enough interest in the project it could change the way Java UI development is done on a massive scale.

  Message #233175 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Does it has a Future ??

Posted by: michele michele on May 22, 2007 in response to Message #233171
I don't know, nobody can know it.
Among many java frameworks, personally I prefer Wings (http://www.j-wings.org), and I think it is superior than Echo2.
I have never seen this framework before, I'll take a look.
One question: it is possible to apply some html templates to use custom stylesheet?


Bye.

  Message #233177 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Does it has a Future ??

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233175
I've tried jWings but it seemed extremely slow for me (maybe it was server load). There are plans to write support for XML defined styles or CSS files that can be parsed at runtime to define styles. In jSeamless you can programmatically define styles via the Style object. The Style object can have parent Styles and be applied to one or many components. This is one significant advantage over Swing as you can create a single Style and apply it to several components instead of having to apply style properties individually to components.

  Message #233179 Post reply Post reply Post reply Go to top Go to top Go to top

Re: jSeamless - UI Abstraction for Java

Posted by: Wei Cui on May 22, 2007 in response to Message #233111
great work! about the demos, could you please make the source code downloadable. thanks a lot.
- Wei

  Message #233181 Post reply Post reply Post reply Go to top Go to top Go to top

Re: jSeamless - UI Abstraction for Java

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233179
I need to post a reference to see the source code from the site, but you can see the source here for NumberGuess:
NumberGuess

  Message #233186 Post reply Post reply Post reply Go to top Go to top Go to top

Name rip off

Posted by: Bill Burke on May 22, 2007 in response to Message #233111
Anybody mind if I rename the JBoss Microcontainer project to jSpringless?

  Message #233187 Post reply Post reply Post reply Go to top Go to top Go to top

Love it, but needs work

Posted by: Mark Waschkowski on May 22, 2007 in response to Message #233111
Absolutely LOVE the concept. I believe that it IS where things need to go. However, still beta, and from the home page using firefox 2.0.0.3 I can't access the support forum.

I'm going to keep an eye on this one and in 6 months might give it a go. Keep up the good work, this would be a project that I would contribute to if it were possible...

Cheers,

Mark

  Message #233188 Post reply Post reply Post reply Go to top Go to top Go to top

Re: jSeamless - UI Abstraction for Java

Posted by: Wei Cui on May 22, 2007 in response to Message #233111
thanks, Matthew.
-Wei

  Message #233189 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Name rip off

Posted by: Preston Sheldon on May 22, 2007 in response to Message #233186
Anybody mind if I rename the JBoss Microcontainer project to jSpringless?


I don't mind if you rename it. ;-)

But I hardly thing it's the same thing. "Seamless" is a pretty common term and it's not as if he's going out of his way to make his project "not Seam".

And since Seam is much more than just a better way to do UI, I wouldn't even say these two are even competing projects.

  Message #233190 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Love it, but needs work

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233187
Thanks for the kind words. You connect directly to the forum here. I would appreciate some feedback as to what exactly is giving you problems on Firefox as that is what has been used primarily for development on. If you're interested in working with me to resolve the issues I'm confident I can convince you that even though it's in beta, it is worthy and needing support right now. ;)

  Message #233191 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Name rip off

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233189
Well said Preston.

They should not be considered competing projects necessarily, although there is a level to which they provide similar functionality they are completely different ideas.

I decided to call the project jSeamless because it makes deploying to different environments and different technologies "seemless". However, that's not to say I didn't appreciate the play on words at Seam's expense. :)

  Message #233195 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Name rip off

Posted by: Cameron Purdy on May 22, 2007 in response to Message #233186
Anybody mind if I rename the JBoss Microcontainer project to jSpringless?


Fitting .. ;-)

Peace,

Cameron Purdy
Tangosol Coherence: The Java Data Grid

  Message #233201 Post reply Post reply Post reply Go to top Go to top Go to top

accessible?

Posted by: Christopher Brind on May 22, 2007 in response to Message #233111
sounds like an interesting idea, but before it should be considered by the enterprise community it should at least be capable of producing (xhtml/css/w3c) accessible websites, if websites are it's main focus.

can it do that out of the box?

i haven't bothered to look, i admit, because as soon as i went to the website i noticed it was flash and just stopped right there.

if it doesn't do this now, please be sure to let the community know when it does! tia! =)

  Message #233203 Post reply Post reply Post reply Go to top Go to top Go to top

Re: accessible?

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233201
No, it currently does not have an HTML implementation. However, there's been such a large outcry for it since it hit TSS that I will make that a priority.

Yes it is Flash for the current web site, but don't give up on it for that. This is doing dynamic things that (to my knowledge) has never been done before. It has a AS3 interpreter that I wrote to dynamically generate and manipulate components on the fly based on communication from the server.

  Message #233208 Post reply Post reply Post reply Go to top Go to top Go to top

Re: accessible?

Posted by: Sal F on May 22, 2007 in response to Message #233203
Matthew,

I'm really happy to see you taking this initiative. It is sorely needed at this point in time to have an abstraction layer like this to advance UI development.

The only recommendation that I have is that in order to boost adoption of the library a lot, would be to provide a 'base' platform - that is pure Java, and handles the majority of logic you need to implement your own UI platform.

Consider creating a few layers of UI 'platform implementation' for example:

Level 1: You implement a 'fireEvent' method and a 'drawBitmap' method, and you have a fully functional port of the UI system to your own platform. You would see a large propogation if implementations using this layer - since it is so simple.

Level 2: Coders can implement 'Widgets' that override the base platform widgets. So by plugging in a few SWT widgets, for example, or Swing ones, you effectively port the API to Swing or SWT.

Level 3: Coders can using AOP / Or ignore the majority of 'base platform' components and implement the majority of the logic themselves. This is similair to what you have today it seems - a 'skeleton' that can be implemented.

I recommend this because if such options were available, I would probably myself implement a level 1 or 2 platform myself - and I know other developers who are in need of such a library as this also.

All in all you have a great idea - if executed properly I think you could see adoption across many Java-capable platforms, which is a *lot*.


Finally, please consider architecting the API to allow for java 1.4 level compliance. Then your entire library could be used in .NET to generate j# applications! This would be extraordinary.

I would be interested in helping with some components also possibly. Let me know your thoughts,

Thanks, and good luck.

  Message #233207 Post reply Post reply Post reply Go to top Go to top Go to top

OpenLaszlo?

Posted by: Aaron White on May 22, 2007 in response to Message #233159
This seems very similar in concept to OpenLaszlo, at least from a high level.

What would be the advantages of using this framework of OpenLaszlo considering it is more mature?

  Message #233210 Post reply Post reply Post reply Go to top Go to top Go to top

Re: accessible?

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233208
Well, this uses AspectJ for implementations and they simply implement the ImplementationListener and they can have a fully functional implementation. It's actually easier than what you're suggesting. ;)

I would appreciate your further insights on the forum if you're interested?

  Message #233211 Post reply Post reply Post reply Go to top Go to top Go to top

Re: OpenLaszlo?

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233207
The biggest difference between jSeamless and OpenLaszlo is that jSeamless is all about writing code in Java, not XML. ;)

I've done some work with OpenLaszlo in the past when it was only doing Flash generation and it was a good idea, but I really disliked the structure (I was considering creating a jSeamless implementation using it). Further, jSeamless offers a lot of dynamics and effects that you simply can't do (or at least couldn't when I was using it) with OpenLaszlo.

In jSeamless every Component has a play(Effect) method that you can create an Effect and simply pass it to that method it will invoke the effect on it. Further, via Styles you can set add, remove, show, hide, etc effects that are automatically invoked when the action occurs. For example, if I wanted a component to fade out when I hide it I could simply do something like:

Fade fade = new Fade();
fade.setDuration(1000);
fade.setAlphaFrom(1.0f);
fade.setAlphaTo(0.0f);
myComponent.getStyle().setHideEffect(fade);

Now when I call:
myComponent.setVisible(false);

It will fade out.

  Message #233213 Post reply Post reply Post reply Go to top Go to top Go to top

Re: accessible?

Posted by: Sal F on May 22, 2007 in response to Message #233210
Matthew,

For example, lets say I wanted an OpenGL port I could do:

class MyOGLPlatform extends JSeamlessPlatform
{
//this handles output
void drawUI(UIBitmap bmp){
MyOGLSurface.draw(bmp.getColorData());
}
//this handles input
void processEvents(EventPipe p) {
//funnel input events - maybe from say, GLUT?
p.processEvent(key, mousex,mousey,mousebuttons);
}

}

So in that many lines of code you've create an opengl 'port' of the API, since the API provides 'JSeamlessPlatform' which handles (maybe via AOP) all the other 'stuff' for you.

Or for example you want to create a SWT port:

import my.swt.libraries;
class MySWTPlatform extends JSeamlessPlatform
{
//gloriously oversimplified
void createWidget(java.lang.Class clazz)
{
if (clazz instanceof JSeamlessButton)
return new SWTButton();
//handle other widgets here
//example: label, edit, tree, etc.
}
}


-- and this could create a SWT port with few lines of code.

Again if you allow jdk1.4 compliance, one could do the above, compile under J# - and have a .NET application! (Note J# express is a free download now from MS)

I would love to give any other architecture ideas - I think you have a great base to start from!

Thanks,

  Message #233215 Post reply Post reply Post reply Go to top Go to top Go to top

Docs about architecture

Posted by: Jaime Canas on May 22, 2007 in response to Message #233159
I Think your project have future.

I've used Laszlo for a rich interface, I like the XML but don´t like program in JavaScript.

I Really like the concept behind WPF (.net), because you have the XML and program with C#.

I am interesting in how you solve the communication between flex and java so you can program events on JAVA.

And at last ,it may be useful if you publish some architecture docs, if you want the project to grow up

  Message #233219 Post reply Post reply Post reply Go to top Go to top Go to top

Re: accessible?

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233213
Sal, have you taken a look at the ImplementationListener interface? It's actually very similar except it is internal event driven based on changes to the application object model. Using AspectJ the implementation listener implementation (sounds pretty redundant) it receives events when something is added, removed, or changed so instead of having a "render" style method you can simply change only what needs to be changed.

This is of particular necessity with a Client/Server implementation as you don't want to send the entire component across the connection every time there is a change to it.

If I'm still missing something please let me know. I would definitely be interested in continued feedback via the forum. I want jSeamless to be a great framework and I don't believe it's far from becoming that, but the more knowledgeable programmers I have helping and correcting the idea the better it will become.

  Message #233221 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Docs about architecture

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233215
I am considering writing an XML style UI generation extension to jSeamless (sort of like Thinlet) that would generate jSeamless code at runtime (or potentially compile time) but that would be down the road a bit. I think there are some benefits to using XML to define a UI but at the same time I never want to depart from the core of jSeamless being Java code.

I definitely need to take some time to write some architectural docs as some of the things I'm doing are very unique and may be very interesting to other projects.

Before I get to version 1.0 I hope to have all of that ready to go and freely available. However, like I've already stated, it's still early development and it still has a long way to go.

So for anyone that really thinks this is a great idea...help! :)

  Message #233243 Post reply Post reply Post reply Go to top Go to top Go to top

A little niche

Posted by: eisen hower on May 22, 2007 in response to Message #233111
What would be the advantages of using this framework instead of Flex. Why do we need another abstraction? Do our applications really need to migrate from web to desktop?

  Message #233249 Post reply Post reply Post reply Go to top Go to top Go to top

Re: A little niche

Posted by: Matthew Hicks on May 22, 2007 in response to Message #233243
Many questions for such a short post. ;)

The major advantage to using jSeamless instead of Flex is a decision to want to program in Java rather than MXML (Flex) and ActionScript 3. If you know the latter well and don't mind still having to write something separate for the server-side then good luck to you. However, if you're like me and would rather not have to write some code to bridge between client and server and would like to do all your work in Java then jSeamless solves this problem for you.

From one perspective I must admit, this is yet another abstraction. However, the goal is to be the UI abstraction to end all UI abstractions. No longer be concerned about needing a UI framework for your Desktop applications, your web applications, your J2ME applications, etc. Now simply develop in jSeamless and rely on the implementations for jSeamless to handle where you want to use the app.

Whether you need to migrate from web to desktop or not is only a small point here. You gain the ability to not have to care. Further, that's only one aspect of this framework. The idea is also to develop a full-featured abstraction even if everything you care about is web-based you can develop in 100% Java and still get an amazing web application together that can do things easier and more modular than any other framework can offer.

  Message #233268 Post reply Post reply Post reply Go to top Go to top Go to top

Re: jSeamless - UI Abstraction for Java

Posted by: J Dev on May 22, 2007 in response to Message #233111
Can it be used wid other web frameworks, like struts or webwork? while using webworks or struts, HTML is rendered using custom tag. thn wat abt jseamless?

sudhir nimavat
http://www.jyog.com

  Message #233275 Post reply Post reply Post reply Go to top Go to top Go to top

Flex and Socket communication

Posted by: s s on May 23, 2007 in response to Message #233161
Hallo,
Flash/Flex is really one heavy aspect. I am behind firewall which is not administrated by my self. so opening a socket connection from my browser to any internet location is blocked. The result of this is a empty page when I browse to Jseamless site.

  Message #233299 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Name rip off

Posted by: Ales Justin on May 23, 2007 in response to Message #233186
Anybody mind if I rename the JBoss Microcontainer project to jSpringless?


I would mind. :-)
Perhaps with -more suffix? ;-)

  Message #233300 Post reply Post reply Post reply Go to top Go to top Go to top

how about JCitrix, JFlash, JActiveX, JYoMamma

Posted by: Tal Dega on May 23, 2007 in response to Message #233159
Last I checked, none of this client side stuff has anything to do with nor improves in any significant way the process of writing Java applications or the end result to the user.

It DOES however improve the bottom line of companies who want to pile their latest APPLET technology on top of Java as if Java were somehow the new Powerbuilder.

Get a life. You can script Flash or flex or whatever you want with Javascript and it has no integration value with Java.

NONE. If this stuff was soooo Good and sooo Java then expose your API via the Java APIs and we will write you some FINE applets.

FINE ones I tell ya!

  Message #233302 Post reply Post reply Post reply Go to top Go to top Go to top

oh I forgot to say

Posted by: Tal Dega on May 23, 2007 in response to Message #233300
I think your project have future

  Message #233303 Post reply Post reply Post reply Go to top Go to top Go to top

ok dude I gotta better one

Posted by: Tal Dega on May 23, 2007 in response to Message #233302
Wait for it....

Wait...

You web interface you go away no We GO FAT CLIENT!

Client SERVER! You hear?

You forget web!!!

  Message #233315 Post reply Post reply Post reply Go to top Go to top Go to top

If all the effort...

Posted by: Tal Dega on May 23, 2007 in response to Message #233249
You spend on NOT committing to a technology were spent on committing to a technology and writing something useful,

Your code would serve mankind. And someone after you were dead would port it for free as a duty to his fellow man.

However, you choose to NOT serve mankind by not committing to a technology and NOT writing useful code.

good luck son.

  Message #233325 Post reply Post reply Post reply Go to top Go to top Go to top

Re: jSeamless - UI Abstraction for Java

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233268
Sudhir, it is not specifically intended to be used with other frameworks. Rather, it is intended to be an alternative to those frameworks. However, it is possible to create a jSeamless application and have only take up a specific portion of an HTML page via the Flex implementation.

  Message #233326 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Flex and Socket communication

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233275
It's actually not too bad when your server isn't being hammered. :) I'm surprised that you're unable to connect to the site. Would you mind giving it another try today? It initially tries to connect via Socket and if it fails it should start using HTTP communication instead.

Let me know if you still have any problems with it today.

  Message #233328 Post reply Post reply Post reply Go to top Go to top Go to top

Re: If all the effort...

Posted by: Mark Waschkowski on May 23, 2007 in response to Message #233315
Thats the most pathetic piece of garbage post I've ever had the misfortune to read on TSS!

Ignore the naysayers Matt and continue on the with the good works.

Mark

  Message #233329 Post reply Post reply Post reply Go to top Go to top Go to top

Re: how about JCitrix, JFlash, JActiveX, JYoMamma

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233300
Tal Dega, your argument I believe is invalid. It DOES improve the process of writing Java applications....well, rather gives you the ability to write Java applications where before they would be written via HTML, JavaScript, and/or Flash. jSeamless gives you the possibility to write your entire web application in Java and you don't have to touch a single line of HTML, JavaScript, CSS, Flash, Flex, JSPs, and on and on for eternity.

jSeamless abstracts all the extra garbage away. Are you a Java programmer? Wouldn't you like to spend all your time programming in Java rather than the majority of your time writing client-side junk like HTML and JavaScript?

  Message #233331 Post reply Post reply Post reply Go to top Go to top Go to top

The community needs this

Posted by: Simon Godden on May 23, 2007 in response to Message #233111
This is great (except that the web site is down so I can't actually look at it).

This is something for which I think there is a community need, and I'm sure these projects will continue to pop up and mature.

Some people on this thread seem to be missing the point. From what I understand, this is a true UI abstraction layer, so asking how it compares to OpenLazlo is not relevant. You can build a OpenLazlo render kit if you want. That's the great thing - write to a neutral API, and when a new wonderful UI implementation technology comes along, write a render kit to it.

(I'm not convinced that Echo2 really represents a true UI abstraction layer - I've looked at its Render API to a certain extent, but not in real detail, so I might be wrong).

A friend of mine and I have had this idea for a couple of years, and have a project nearing preview, with the initial render kits being Echo2 and GTK#, with a Swing version probably to follow. We also have a network protocol into the mix, meaning we can do thin-client but not necessarily with a web browser.

I will be investigating this project with interest, but since the website is down, I can't event see the license yet...

  Message #233332 Post reply Post reply Post reply Go to top Go to top Go to top

Re: If all the effort...

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233315
This code is committing to a technology and that technology is Java. :)

  Message #233335 Post reply Post reply Post reply Go to top Go to top Go to top

Re: jSeamless - UI Abstraction for Java

Posted by: Simon Godden on May 23, 2007 in response to Message #233111
I can't find the license on the website - can you clarify?

  Message #233344 Post reply Post reply Post reply Go to top Go to top Go to top

Re: jSeamless License

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233335
We'll hopefully have a FAQ up soon that will answer questions like that. The project is open-source and the license is BSD.

  Message #233348 Post reply Post reply Post reply Go to top Go to top Go to top

similar to wiser?

Posted by: Nicola Viragine on May 23, 2007 in response to Message #233111
For me this project seems similar to wiser?
http://www.c1-setcon.de/widgetserver/

  Message #233349 Post reply Post reply Post reply Go to top Go to top Go to top

Re: similar to wiser?

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233348
Thanks for the link Nicola, I hadn't seen that one before.

It's actually quite similar in premise. I'm definitely going to look into this project further, but just after a few minutes of investigation I saw a few things that bothered me. First, the calculator example was extraordinarly slow. Second, they sell commercial licensing so you don't get everything unless you buy it. That's not to say I have a problem with commercial licensing, but the I personally believe that a UI abstraction should be 100% free and open-source if possible. That is my goal with jSeamless. That is not to say that some implementations may eventually be made that are licensed, but at that point it would be the choice of the developer if they wanted to use a free implementation or a commercially supported implementation.

Granted, I only gave the site a few minutes of my time. I'll definitely look into this one further but I didn't see any example code and it sounds like all the UI is done via XML?

  Message #233350 Post reply Post reply Post reply Go to top Go to top Go to top

Great stuff Matthew

Posted by: Frank Bank on May 23, 2007 in response to Message #233111
I can't wait for the HTML implementation

  Message #233353 Post reply Post reply Post reply Go to top Go to top Go to top

Re: If all the effort...

Posted by: Frank Bank on May 23, 2007 in response to Message #233315
"Talladega", you will have to use jSeamless. You have no choice. In one of your frequent drunken stupors, you will be shanghaied and forced into perpetual servitude of writing jSeamless code. Resistance is futile.

  Message #233354 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Great stuff Matthew

Posted by: Mark Nuttall on May 23, 2007 in response to Message #233350
I think it is interesting enough with just Flash only. I've not dipped my foot in that arena for the reasons others have stated enough. That is one reason I like Echo2 (or things like it) for building application UIs made available via [only] the browser.

  Message #233355 Post reply Post reply Post reply Go to top Go to top Go to top

Re: If all the effort...

Posted by: Mark Nuttall on May 23, 2007 in response to Message #233353
"Talladega", you will have to use jSeamless. You have no choice. In one of your frequent drunken stupors, you will be shanghaied and forced into perpetual servitude of writing jSeamless code. Resistance is futile.

I wasn't sure if he was drunk or high or schizo.

  Message #233356 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Great stuff Matthew

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233350
Those who can't wait, need only help it along. ;)

Drop by the forum and pledge your assistance to the creation of it...we need help. I've done everything to this point by myself, but if this project is to survive and accomplish what I envision for it then we need a LOT more help to get there.

The only way this project is going to truly be successful is if the Java community at large recognizes the potential and moves to bring it into the fold.

  Message #233357 Post reply Post reply Post reply Go to top Go to top Go to top

Re: similar to wiser?

Posted by: Nicola Viragine on May 23, 2007 in response to Message #233349
Granted, I only gave the site a few minutes of my time. I'll definitely look into this one further but I didn't see any example code and it sounds like all the UI is done via XML?


THERE ARE 3 WAYS YOU CAN DEFINE THE GUI
1- HTML/page centric way (like wicket or tapestry) - you have to have HTML, Javascript knowledge,

1- a Java centric way (like echo) - you do not have to have HTML, Javascript knowledge,
3 - or in a XML centric way(like all the XML/GUI frameworks around) - you do not have to have HTML, Javascript knowledge.

  Message #233358 Post reply Post reply Post reply Go to top Go to top Go to top

Re: If all the effort...

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233353
Frank, does the rant above count as a drunken stupor? ;)

  Message #233362 Post reply Post reply Post reply Go to top Go to top Go to top

Re: If all the effort...

Posted by: Frank Bank on May 23, 2007 in response to Message #233358
Frank, does the rant above count as a drunken stupor? ;)


I'm not sure where "above" is. Talladega had quite a few posts of drunken stupor (well, at least we can hope it's just that).

  Message #233363 Post reply Post reply Post reply Go to top Go to top Go to top

Re: similar to wiser?

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233357
Granted, I only gave the site a few minutes of my time. I'll definitely look into this one further but I didn't see any example code and it sounds like all the UI is done via XML?


THERE ARE 3 WAYS YOU CAN DEFINE THE GUI
1- HTML/page centric way (like wicket or tapestry) - you have to have HTML, Javascript knowledge,

1- a Java centric way (like echo) - you do not have to have HTML, Javascript knowledge,
3 - or in a XML centric way(like all the XML/GUI frameworks around) - you do not have to have HTML, Javascript knowledge.


Interesting...I'm reading through the tutorial right now and I was startled when I saw the screenshot of the HelloWorld XML file it creates (granted it's via a WYSIWYG editor) is 49 lines of XML...for a Hello World example that's frightening. :) Further, you still have to create a IUnGuiEventListener to work with it.

In jSeamless the Hello World example available via the tutorial consists of 9 lines of code and if you simply count the amount of code specific to "hello world" you have two lines of code:

Label label = new Label("Hello World!");
add(label);

I wasn't able to find any Java examples, do you have a link to any?

  Message #233366 Post reply Post reply Post reply Go to top Go to top Go to top

Re: The community needs this

Posted by: Daan de Wit on May 23, 2007 in response to Message #233331
I'm not convinced that Echo2 really represents a true UI abstraction layer - I've looked at its Render API to a certain extent, but not in real detail, so I might be wrong.

It does. Echo2 comes with three packages: app, webcontainer and webrender. App contains the UI abstraction, webcontainer provides the mapping between the UI abstraction and webclients, webrender provides the communication with the client and the core js library.

It is certainly possible to create a flex/swing/opengl/etc. implementation for Echo2. I don't think it will be trivial to do, but I guess that's the same for jSeamless.

  Message #233367 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Copy Of Echo2?

Posted by: Daan de Wit on May 23, 2007 in response to Message #233164
I spent quite a bit of time working with Echo2 and finally decided it wasn't quite as powerful as what I wanted to create.

Can you elaborate somewhat more on this?

  Message #233374 Post reply Post reply Post reply Go to top Go to top Go to top

Re: The community needs this

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233331
Sorry, we've been having a lot of server issues since we appeared on TSS. It has been great for uncovering bugs in the beta release, but a nightmare to try to keep up with. :)

I would be interested in seeing what you've accomplished and would be even more interested collaborating into one project endeavor. I believe there's definitely room for an idea like this, but I believe there is only room for one. :)

The site should be working again (at least for now).

  Message #233380 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Copy Of Echo2?

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233367
I spent quite a bit of time working with Echo2 and finally decided it wasn't quite as powerful as what I wanted to create.

Can you elaborate somewhat more on this?


Absolutely. The most notable reason why I decided to create "yet another framework" was not because I couldn't do what I wanted to do with other frameworks out there, but because I couldn't do everything I wanted to do with ONE framework out there. Echo2 is similar to the jSeamless Flex implementation (or the upcoming HTML implementation), but Echo2 is specifically designed for web applications, jSeamless is not.

Now I'm going to give some personal opinions here, and take them for what they're worth, but don't get upset at me for stating them. ;)

First, I think Echo2 is probably the best alternative I've seen to jSeamless web implementations.

One of my big frustrations while using it was the client/server communication model caused an hourglass to appear in the browser when it was talking to the server, even if it was supposed to be background loading. Further, the API seemed a little over-complicated for accomplishing tasks and if I recall I had some issues looking at the code because the developer(s) were not native English speaking (German if I recall). However, for native German speaking people that might be a benefit. ;)

Finally, the developer studio seemed WAY overpriced when there are comparable systems for other frameworks that are free or at least under $100.

  Message #233381 Post reply Post reply Post reply Go to top Go to top Go to top

Re: If all the effort...

Posted by: Cameron Purdy on May 23, 2007 in response to Message #233358
Frank, does the rant above count as a drunken stupor? ;)


Frank only has one mode of writing, and you just experienced it ..

Peace,

Cameron Purdy
Tangosol Coherence: The Java Data Grid

  Message #233384 Post reply Post reply Post reply Go to top Go to top Go to top

Re: If all the effort...

Posted by: Frank Bank on May 23, 2007 in response to Message #233381
Frank, does the rant above count as a drunken stupor? ;)


Frank only has one mode of writing, and you just experienced it ..

Peace,

Cameron Purdy
Tangosol Coherence: The Java Data Grid


Isn't that cute. Cameron is sticking up for the short bus riders.

  Message #233386 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Copy Of Echo2?

Posted by: Mark Nuttall on May 23, 2007 in response to Message #233380
Finally, the developer studio seemed WAY overpriced when there are comparable systems for other frameworks that are free or at least under $100.

The Echo2 framework is free. Just not the Eclipse Plugin. I am not sure there is a plugin that is free that compares. And that is how Tod chose to support his development. You most certainly do not need the plugin to develop with Echo2.

  Message #233388 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Copy Of Echo2?

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233386
Finally, the developer studio seemed WAY overpriced when there are comparable systems for other frameworks that are free or at least under $100.

The Echo2 framework is free. Just not the Eclipse Plugin. I am not sure there is a plugin that is free that compares. And that is how Tod chose to support his development. You most certainly do not need the plugin to develop with Echo2.


Yes, and I don't think there was anything wrong with that decision, it seems a bit high to me. There are various comparable (in my opinion) plugins for creating Swing UIs that are free. Do a google search and I'm sure you'll find quite a few (there are some good ones among the plethora of bad).

  Message #233402 Post reply Post reply Post reply Go to top Go to top Go to top

catharsis

Posted by: Cameron Purdy on May 23, 2007 in response to Message #233384
Isn't that cute. Cameron is sticking up for the short bus riders.


Frank, I apologize on behalf of whatever kids picked on you, whatever priests buggered you, or whatever father figures made you feel so small.

I hope you can now live the rest of your life with some sense of freedom.

Peace,

Cameron Purdy
Tangosol Coherence: The Java Data Grid

  Message #233408 Post reply Post reply Post reply Go to top Go to top Go to top

Re: catharsis

Posted by: Frank Bank on May 23, 2007 in response to Message #233402
Isn't that cute. Cameron is sticking up for the short bus riders.


Frank, I apologize on behalf of whatever kids picked on you, whatever priests buggered you, or whatever father figures made you feel so small.

I hope you can now live the rest of your life with some sense of freedom.

Peace,

Cameron Purdy
Tangosol Coherence: The Java Data Grid


Cameron, well it's pretty obvious that my comment to "Talladega " flew right over your head (not surprising), but maybe you'll get it eventually. But in any case, I'll give you a hint. Some people don't quite grok that they're not dictators of who does what and when in the Java world.

I'll leave it to you to engage Talladega in a collegial manner.

  Message #233406 Post reply Post reply Post reply Go to top Go to top Go to top

Re: catharsis

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233402
Wow, I didn't need to see any of that. :-p

For what it's worth Frank, I appreciated your comments and found (most of - minus the short-bus one of course) them useful. :)

  Message #233421 Post reply Post reply Post reply Go to top Go to top Go to top

OpenLaszo vs. jSeamless: locked to Java?

Posted by: Brian Sayatovic on May 23, 2007 in response to Message #233211
So if OpenLaszlo is coded in XML and jSeamless is coded in Java, that is significant.

While the OpenLaszlo folks haven't gone down this path, you could deliver their *.lzx XML files to the client, and let the client interpret that. This is what an HTML browser does. And just as there are HTML browsers written in many languages, so could a OpenLaszlo-interpetting browser. No ecosystem is locked out -- .NET, Java, C, TclTk, etc. could all be used to write "LZX Browsers".

  Message #233443 Post reply Post reply Post reply Go to top Go to top Go to top

Stay On Track

Posted by: Travell Perkins on May 23, 2007 in response to Message #233111
Matthew,

Excellent work! I am very familiar with Echo 2 and its clones like ThinWire. I also have a little baby framework of my own at www.swervespot.org. When it goes beta the main feature it will provide is a native AS3/Java Servlet based CometD implementation. A brain dead way of implementing a headless set of RESTful services. OK, done with my plug.

STAY AWAY FROM IMPLEMENTING A DHTML VERSION LIKE THE PLAGUE!!!

My point is this. There are a zillion ways to skin the HTML cat and the Echo/jSeamless approach is not the way to do it. If your going down that line be prepared to integrate CSS3 properly, which you should be doing anyway directly from the Flex side. You shouldn't even be doing skinning Java side. Leave the Flex side open so the designers can participate. Also figure out a way to support native flex plugins using the half object design pattern. Implement a flex component, use your messaging fabric, implement the java stub, figure out some jar format that wraps it all together. Then you can do paint with no waste (mouse coordinates aren't being streamed back to the server), just the business "events" defined by the component developer.

Ignore the HTML request, they are leading you in the wrong direction. It might even be malicious. After a ton of hard work you will just have an Echo 2 clone. Which is not good for you or that other one man show. You have picked great front and back end technologies. Now really make them work. Enhance the transport layer. Talk to Adobe and figure out a way to support RMTP as transport plugin. Talk to Red 5. Talk to the Flex community. How could this be a better Apollo, get it on the desktop. Flex front end with Text to Speech using Festival. This is the holy grail of Java/Flex integration. I guarantee you are just the first to market. Don't be distracted. Talk to a VC. You could own the financial services sector and all intranet apps for sure.

Stay Flex, Stay Java, Stay Focused!!!

Excellent! Simply excellent! I wish you all the best!!!

- Travell Perkins, State Street

  Message #233446 Post reply Post reply Post reply Go to top Go to top Go to top

Re: OpenLaszo vs. jSeamless: locked to Java?

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233421
So if OpenLaszlo is coded in XML and jSeamless is coded in Java, that is significant.

While the OpenLaszlo folks haven't gone down this path, you could deliver their *.lzx XML files to the client, and let the client interpret that. This is what an HTML browser does. And just as there are HTML browsers written in many languages, so could a OpenLaszlo-interpetting browser. No ecosystem is locked out -- .NET, Java, C, TclTk, etc. could all be used to write "LZX Browsers".


I think I mentioned previously that I had looked into actually creating a wrapper around Laszlo, but honestly I hated the architecture they define. Further, it seems overly complicated to accomplish the tasks and REALLY buggy for their DHTML implementation (and I don't need them for the Flash implementation...I already have something better...in my opinion).

Going with something like Dojo Toolkit or another JavaScript client-side wrapper would make the transition much easier, but still I fear it might not be up to the task.

  Message #233447 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Stay On Track

Posted by: Matthew Hicks on May 23, 2007 in response to Message #233443
I appreciate your kind remarks and agree with your for the most part. I'm personally not a big fan of going down the DHTML road...I've had too much personal experience and know what I'm getting into. However, if the community wants it, they'll get it. Your subject was "Stay On Track" and I intend to do just that. The goal of the jSeamless project is to be a UI abstraction with multiple implementations and though it is always tempting to be happy with one implementation and feel it is fully capable of handling anything I might want to do, that just means I've done a good job of implementation, it does not mean I'm done. :)

I would be VERY interested in trying to convince you to assist in the Flex implementation as I need some strong Java/ActionScript3 devs to be able to bring that together. I'm a strong Java developer and know JavaScript well enough, but I've learned AS3 by getting tossed in the deep end and trying to doggy-paddle my way out. I'd also love a demonstration of Swerve in action.

I think you'd be very interested in my communication architecture I've defined for the Flex implementation, it is a little odd, but actually quite innovative if I do say so myself. ;)

Travell, if you're willing, get involved in the forum and we can try to collaborate to bring together a universal framework rather than two exclusive ones.

  Message #233469 Post reply Post reply Post reply Go to top Go to top Go to top

Good job

Posted by: jose labeaga on May 24, 2007 in response to Message #233111
Congratulations Matthew, this is a great job. I am sure the UI abstraction is the way to go instead of the HTML, JavaScript, CSS, JSPs ... mix.

Sorry for my ignorance, from a technical point of view, what is the difference between your approach and others like Thinwire (which is LGPL) or Canoo ULC (which is a commercial product)?

Thanks
Jose

  Message #233472 Post reply Post reply Post reply Go to top Go to top Go to top

Swerve Beta

Posted by: Travell Perkins on May 24, 2007 in response to Message #233447
Swerve Beta is coming very soon and it will have a native AS3 messaging layer with optimizations for continuations on the backend (Jetty). You should be able to leverage it for internal/external AVM messaging. Right now it supports arbitrary text messaging but I might look into AMF encoding since that probably is more performant for your needs. Either way, pure HTTP tunneling goodness.

I will definitely keep up with your project. I don't know what you like for persistence, but I use Amazon Carbonado in Swerve and it just keeps everything in POJO heaven.

- Travell

  Message #233487 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Copy Of Echo2?

Posted by: Mark Nuttall on May 24, 2007 in response to Message #233388
Finally, the developer studio seemed WAY overpriced when there are comparable systems for other frameworks that are free or at least under $100.

The Echo2 framework is free. Just not the Eclipse Plugin. I am not sure there is a plugin that is free that compares. And that is how Tod chose to support his development. You most certainly do not need the plugin to develop with Echo2.


Yes, and I don't think there was anything wrong with that decision, it seems a bit high to me. There are various comparable (in my opinion) plugins for creating Swing UIs that are free. Do a google search and I'm sure you'll find quite a few (there are some good ones among the plethora of bad).

I mean for "web" work.

I use Eclipse VE and Netbeans daily for Swing. Pretty much anything else is not free or not alive or not good.

  Message #233489 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Good job

Posted by: Matthew Hicks on May 24, 2007 in response to Message #233469
Congratulations Matthew, this is a great job. I am sure the UI abstraction is the way to go instead of the HTML, JavaScript, CSS, JSPs ... mix.

Sorry for my ignorance, from a technical point of view, what is the difference between your approach and others like Thinwire (which is LGPL) or Canoo ULC (which is a commercial product)?

Thanks
Jose


Well, from ThinWire's opening statement on their site:
ThinWire® is an LGPL open source, free for commercial use, development framework that allows you to easily build applications for the web that have...


The key word there is web. jSeamless is not specifically about the web, it is a UI framework that extends to the web and beyond it. This means any platform and any environment has the potential of having a jSeamless implementation written for it (if not various).

Honestly, I haven't delved into either one of those APIs, they seem to be pretty nice. However, jSeamless goes beyond their focus into what I believe is the future of UI development. In the web site I refer to "the UI revolution" and that's primarily intended as funny marketing-speak, but there's some truth to it as well.

To my knowledge there is no other framework that has attempted to create a complete UI abstraction in Java and be able to leverage implementations in any platform and environment (correct me if I'm wrong here). I think this is the next stage in Java development. Specifically to move away from what I believe is the stumbling block in the Java community...J2EE.

  Message #233490 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Copy Of Echo2?

Posted by: Matthew Hicks on May 24, 2007 in response to Message #233487
Finally, the developer studio seemed WAY overpriced when there are comparable systems for other frameworks that are free or at least under $100.

The Echo2 framework is free. Just not the Eclipse Plugin. I am not sure there is a plugin that is free that compares. And that is how Tod chose to support his development. You most certainly do not need the plugin to develop with Echo2.


Yes, and I don't think there was anything wrong with that decision, it seems a bit high to me. There are various comparable (in my opinion) plugins for creating Swing UIs that are free. Do a google search and I'm sure you'll find quite a few (there are some good ones among the plethora of bad).

I mean for "web" work.

I use Eclipse VE and Netbeans daily for Swing. Pretty much anything else is not free or not alive or not good.


That's valid, but the correlation between "web work" and any other UI development should be lost with jSeamless. What I mean by that, is that we could create an IDE similar to all the other WYSIWYG editors for Swing, but for jSeamless and it renders to Swing for easy runtime validation. However, when development is done you can still deploy it anywhere you want. This removes the need to start and stop a server every time you want to test functionality...this will make rapid development of web applications....more rapid. ;)

  Message #233504 Post reply Post reply Post reply Go to top Go to top Go to top

Half Objects

Posted by: Travell Perkins on May 24, 2007 in response to Message #233111
Last comment:

There are so many different ways to implement a proper UI for a service in DHTML. The Half Object Design Pattern is not a good for most web apps that have any reasonable designers involved. Ruby on Rails, PHP, JSP, and templates work much better.

HOP is best used for solid UI frameworks on the front end. I vote for Flex and Silverlight for jSeamless!!!

- Travell

  Message #233511 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Half Objects

Posted by: Matthew Hicks on May 24, 2007 in response to Message #233504
Last comment:

There are so many different ways to implement a proper UI for a service in DHTML. The Half Object Design Pattern is not a good for most web apps that have any reasonable designers involved. Ruby on Rails, PHP, JSP, and templates work much better.

HOP is best used for solid UI frameworks on the front end. I vote for Flex and Silverlight for jSeamless!!!

- Travell


I have to disagree about the DHTML implementation, I think it can be done quite well (given significantly more work than the Flex implementation took). I would be interested in a Silverlight implementation, but it only works on Windows, right? If you're interested in furthering the Flex implementation or creating a Silverlight implementation drop by the forums and we'll put you to work. :)

  Message #233537 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Copy Of Echo2?

Posted by: Mark Nuttall on May 24, 2007 in response to Message #233490
That's valid, but the correlation between "web work" and any other UI development should be lost with jSeamless. What I mean by that, is that we could create an IDE similar to all the other WYSIWYG editors for Swing, but for jSeamless and it renders to Swing for easy runtime validation. However, when development is done you can still deploy it anywhere you want. This removes the need to start and stop a server every time you want to test functionality...this will make rapid development of web applications....more rapid. ;)

Understand. But creating an IDE to do this will be a lot of work. Much more than the API. But that is typical of UI development. Addtionally, Echo and Echo2 a different APIs. I highly suspect this was due to having to deal with AJAX. Echo was VERY much like Swing. I was able to convert a project from Echo[1] to Swing in about an hour. The only thing that caused me issues was the reversal of row/col in the table model. That is not possible today with Echo2. It is still very Swingish for the most part.

I'd love to see it all work.

  Message #233539 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Half Objects

Posted by: Travell Perkins on May 24, 2007 in response to Message #233511
Silverlight is cross platform: Windows and Mac

I mean you have to raise the bar right. If it just simple Windows 95 looking applications no problem, but truly cinematic requires a core that was designed to do that. DHTML is great, but its not DirectX right? Silverlight sits right on top with a ton of graphics API goodness. Same for Flash except there is no hardware acceleration (biggest thing missing by the way). Swing apps got blazingly fast once Sun invested in Java2D hardware acceleration. Its the difference between being able to do Tetris and Doom. DHTML can and has done Tetris. It can't do Doom. Given that the world is going towards cinematic you have to choose where you want to spend your time. At some point the DHTML implementation will fall off if you want to follow your cinematic competitors in the space. What is cool about what you are doing is your competitors are open and meant to be leveraged. So by existence proof: Flash/Silverlight are more capable cinematically than DHTML. So with your Flex implementation (can be skinned and extended with all capabilities of Flash) is more capable than the DHTML implementation or you create a common denominator. I see that as having minimal value; Laszlo already does that.

That was my point about the plug-in API by the way. I would love to chip in on that so that developers can make rich components with low overhead.

-T

  Message #233540 Post reply Post reply Post reply Go to top Go to top Go to top

Sliding Off

Posted by: Matthew Hicks on May 24, 2007 in response to Message #233539
I'll say this before jSeamless slides off the front-page of TSS that this has been a wonderful opportunity for a project I've been working on for some time to see the light of day and give many professional developers out there an opportunity give quality feedback and ideally even consider using it.

I would like to make a request for continued discussion on the jSeamless forum as I value all these opinions a great deal and would love it to continue as jSeamless tries to work its way from Beta to Release. It is still going to be a while before it's there, and may well require some significant changes before it gets there and it needs professionals to help it get there. I've done a lot to bring it where it is and I've received a LOT of feedback from people, but I would really encourage that involvement to continue on the forums.

If you are just a TSS user and don't really care to get further involved then I still appreciate your constructive criticism and time spent previewing this framework.

If you are interested in becoming more involved then get set up on the forum: http://forum.captiveimagination.com/index.php/board,14.0.html

Thanks again!

-Matt

  Message #233562 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Half Objects

Posted by: Frank Bank on May 25, 2007 in response to Message #233539
And I guess that begs the question, at what point does your (user) code have to diverge in order to break out of the limitations of DHTML. Obviously if DHTML could do everything that Flash or Silverlight could do then there would be no need for Flash or Silverlight.

Travell makes some interesting points. Is DHTML(Ajax) a evolutionary dead end for doing real apps?

  Message #233568 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Does it has a Future ??

Posted by: Holger Engels on May 25, 2007 in response to Message #233177
Since the integration of AJAX, it's really, really fast! The demo server is hosted in germany. Maybe that's the reason for your perception?

  Message #233574 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Half Objects

Posted by: Matthew Hicks on May 25, 2007 in response to Message #233562
And I guess that begs the question, at what point does your (user) code have to diverge in order to break out of the limitations of DHTML. Obviously if DHTML could do everything that Flash or Silverlight could do then there would be no need for Flash or Silverlight.

Travell makes some interesting points. Is DHTML(Ajax) a evolutionary dead end for doing real apps?


You make a valid point. DHTML will probably never be as fast as something like Flash or Silverlight because their intents are different. However, with enough JavaScript much of that can be hidden and realistically you can re-create that "half-object" approach with JavaScript objects that equate to HTML representations on the page.

I believe long-term DHTML is not going to be the optimal approach to web development, but it seems obvious that the majority of web developers aren't comfortable enough with Flash/Silverlight to invest in a framework that just creates that. The way I look at it is those people that want the DHTML implementation now will start using jSeamless and realize the performance and appearance advantages gained by Flash and eventually move over (and with jSeamless that's simply swapping to another implementation). If that happens we may eventually abandon the DHTML implementation, or they might be right and DHTML has a long-life ahead of it in which case we can continue to support it.

This is the greatest feature of jSeamless. You'll never hit a technological dead-end. You develop a standardized UI and then if "Super Karate Web UI" comes out you can convert all your applications without a single change in your code, just simply swap out for the implementation.

  Message #233576 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Does it has a Future ??

Posted by: Matthew Hicks on May 25, 2007 in response to Message #233568
Since the integration of AJAX, it's really, really fast! The demo server is hosted in germany. Maybe that's the reason for your perception?


I definitely agree that AJAX is fast. It very well could have been because it was in germany that was causing performance issues for me. A nice little side-note since you mention AJAX though, the Flex implementation tries to establish a Socket connection and fails-over to AJAX communication (with a few tweaks). AJAX is quite fast, but when compared side-by-side to a direct Socket connection it seems pretty darn slow...and inefficient. ;)

  Message #237533 Post reply Post reply Post reply Go to top Go to top Go to top

javafx

Posted by: Joel Schuster on August 06, 2007 in response to Message #233111
What is the difference b/t jSeamless and JavaFX? Aren't they both trying to do the same thing? One UI API for any underlying implementation?

  Message #237669 Post reply Post reply Post reply Go to top Go to top Go to top

Re: javafx

Posted by: Matthew Hicks on August 07, 2007 in response to Message #237533
JavaFX sets out to provide enhanced UI effects in Swing. jSeamless on the other hand is a UI abstraction. Realistically they are completely different. The only real similarity is that both provide a powerful effects handling system. The Flex Implementation of jSeamless provides a lot of effects similarly to JavaFX, but is intended for web use whereas JavaFX is desktop application in Swing only.

I see the potential of integrating JavaFX functionality in the Swing implementation of jSeamless. Rather than think about these two as competing technologies, with jSeamless you can think of them assisting each other.

New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com

Dependency Injection in Java EE 6 - Part 1

Reza Rahman explores the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6. (November 2, Article)

SAML: It's Not just for Web services

SAML is an XML-based standard for exchanging authentication and authorization data between security domains. The single most important problem that SAML was created to solve is the Web browser Single Sign-On problem. Many organizations are debating whether to stay with version 1.1 or move to 2.0. This article makes observations about both options. (September 28, Article)

Programming is Also Teaching Your Team

Joe Ottinger takes a look at how people learn, and applies it to the practice of programming. He notes that understanding how people learn is an essential part of working in a programming team. (September 22, Article)

Can Java EE Deliver The Asynchronous Web?

Stephen Maryka gave us an article about the Asynchronous Web and posed a number of questions that get examined like an approach to delivering Asynchronous Web capabilities through extensions to existing Java EE technologies. (July 14, Article)

JSF Flex

JavaServer Faces Flex goal is to provide users capability in creating standard Flex components, part of flexSDK which is open sourced through MPL license, as normal JSF components. This article by Ji Hoon Kim will provide an overview of creating a simple multilingual JSF page consisting of JSF Flex tags. (June 29, Article)

The Rules of SOA - A Road to a Successful SOA Implementation

In this session Jeff explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project. (June 23, Tech Talk)

Ari Zilka Talks About Terracotta 3.1

Ari Zilka, CTO of Terracotta, Inc., talks about the new features in Terracotta 3.1, announced during JavaOne and available now. (June 15, Tech Talk)

Enterprise Application Integration, and Spring

In this Tech Talk, Josh Long explores an integration challenge using Spring Integration and walks through the implementation, employing and expanding on the basic patterns of Enterprise Application Integration to tie together components into a function integration solution, and then demonstrates how Spring Integration helps address the integration requirements. (June 15, Tech Talk)

Google Web Toolkit: An Introduction

In this Tech Talk, David Geary teaches you: The basics of Google Web Toolkit; How to implement Ajax-enabled applications in Java; Internationalization; Hooking into the browser history mechanism; Remote procedure calls. (June 4, Tech Talk)

Just Enough Early Architecture to Guide Development

Jon Kern discusses the best architecture/technical solutions and ensure that they are repeated by all developers. By tackling the architecture up-front in a serial manner, subsequent parallel development will be much more manageable and predictable. (May 28, Tech Talk)

Productive Programmer: On the Lam from the Furniture Police

This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to guard yourself against all those distractions. Neal Ford talks about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the misguided attempts to sap your ability to produce good work. (May 26, Tech Talk)

Auto-Scaling Your Existing Web Application

Gil demonstrates how new, aggressive uses of already abundant compute capacity by common applications offer competitive value for application designers. (May 21, Tech Talk)

Automating Hibernate Mapping and Queries For Java Web Development

Chris Keene introduces WaveMaker as a new way to automate the ability to generate Hibernate classes in order to more quickly bring OR mapping into an application. (May 19, Article)

Auto-Scaling Your Existing Web Application

In this session Nati Shalom demonstrates how to take a standard Java EE web application and scale it out or down dynamically without changes to the application code. Seeing as most web applications are over-provisioned to meet infrequent peak loads, this is a dramatic change because it enables growing your application as needed, when needed, without paying for unutilized resources. (May 19, Tech Talk)

Free Book: Jakarta-Struts Live

Download the entire book of Jakarta-Struts Live and learn about Struts MVC, Tiles, the Validator, DynaActionForms, plug-ins, internationalization, and more.
(Book PDF Download)

Application Server Matrix

The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
Java Solutions
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map