Blogs : Latest entries
|
|
| < Previous page |
|
Since JDK 1.4, it is possible to reload the implementation of class methods with newer versions, without restarting the application. This is called Hotswap. However, any change to the structure of your class is not supported and requires a complete restart. Developers are more and more seeing the advantage of scripting languages for development and part of the reason is the fact that any change can immediately be seen in a running application. It is technically possible to improve the Hotswap feature. Sun is looking for feedback about this, so that they can evaluate if it's worth dedicating resources to: Are people really looking to do arbitrary
changes and instance conversion? We view type safety and
application consistency as very important. One approach is
to relax the restrictions and allow for some limited changes
- for example, the ability to add methods would address many
scenarios. We aren't making any commitments at this time but
we are looking for feedback.
If you have any suggestions or comments, join the discussion at Sun's developer network. |
|
It was nice meeting David Heinemeier Hansson at O'Reilly's EuroOSCON. We had a bit of a laugh about the online 'arguments' we had before. When I got back from the conference, I received a mail from David, he apparently looked a closer to what we try to do with RIFE. This is what he sent me: Subject: Good job! Despite the fact that we obviously look differently upon technology, I'd just like to recognize the good job you're doing pulling Java into a more modern world. RIFE certainly presents itself better than the vast majority of Java tech out there. One should almost think it was a Ruby project ;).The discussion we had afterwards is quite interesting too, so I'm pasting it below: Geert
I actually come from a scripting background and bringing simplicity to Java was part of the initial endeavor. While many of the things we do are similar, important core parts are different (mainly the declaration thing). Probably because I have been bitten a lot in the past with huge websites in PHP where no centralized structure made it impossible to maintain them. I thus tried to find a solution that married both approaches. David
PHP can indeed turn you off dynamic languages. That's also why I really dislike having a single moniker like "dynamic languages" cover both perl, python, ruby, and php. Ruby is much more an opposite of PHP than its similar. Geert
I fear though that not many people doing Java are open for the 'quick results without a headache' approach unless they totally switch over to another language or platform. RIFE walking a middle road doesn't help much for its adoption though, but that's another story ;-) David
I think that's a very precise analysis. As long as people are in denial of a world outside, Struts will seem like the only way. And a rebel framework like RIFE stand as little chance as Rails. But as soon as they open up, I think they want to distance as much as possible (and thus Rails provide the exact opposite of the Struts in a lot of ways). |
|
Mark blogged about our recent release of RIFE/Crud, but sadly his blog doesn't allow comments, so I'm replying in a separate blog post. Rife CRUD scaffolding customization does not look nearly as flexible as Ruby Rails scaffolding, but that is fair: Rife does its scaffolding at runtime so there is no code to tweak - different than Ruby Rails where you can edit the generated .rhtml, Ruby controller, etc. files.
It depends on what you categorize as flexible, all distinct functionalities in RIFE/Crud have been extracted into dedicated methods in the RIFE element implementations (components). You can thus easily create your own element, re-use the automated logic and inject your element into the auto-generation logic. The benefit is that you don't modify the automatic behavior and still can benefit of library upgrades and bug fixes. You can of course also replace an entire element by your own. I like the superb runtime performance of simple JSPs (with custom tag libraries) but there is no reason to believe that the runtime overhead of Rife and Rife CRUD scaffolding would be too bad
The performance should be as good or better than JSP. All auto-generated views are on-the-fly compiled to byte-code and loaded as regular Java classes. You thus get all the benefits, agility and performance. Thanks for looking into RIFE/Crud, I hope you will look a bit further at all the rest that RIFE has to offer and consider it for a next project. |
|
I talked numerous times with people about which platform to adopt for RIA development. While I never have been a huge Flash fan, I've been continuously saying that using it instead of Ajax is still the best solution and that OpenLaszlo's choice of Flash makes a lot of sense. Just look at the innerHTML Gotchas blog post over at ajaxian.com. Some weird compatibility problem with Internet Explorer makes it impossible to dynamically add rows to tables. Can you believe that? It's not like adding table rows is some esoteric capability that nobody would ever use. This is just one of the many compatibility problems. To me, all this smells like the DHTML flop from 6 years ago all over again, except that they're doing it asynchronously this time It's simple, people, unless you have infinite resources (like Google), building a complex RIA using Ajax will just make your development team drown under the 'odd little compatibility problems'. And, after all the effort, you'll still target less users because the adoption of 'supported browsers' is less than the install base of Flash player 7. |
|
The RIFE presentation I did on Tuesday at EuroOSCON was a success. Even though I personally thought I rushed the presentation a bit, many people were truly interested by the project afterwards. I missed the presence of a clicker though. I had to stick close to the laptop or step back all the time while explaining, this made me reach out a lot less to the audience than I wanted to. People gave me a hard time during the questions, asking details about the logic-less template engine and other controversial aspects of RIFE. The template engine seems to be one of the features that people have the most problems with. I couldn't respond to every use-case immediately, but met up with some people afterwards and explained everything in detail. Anyway, for those that are interested, here are the files of the presentation:
|
| < Previous page |


