Blogs

Google Guice 2.0 Released

Tagged:  

Java dependency injection just got better: Google Guice 2.0 has been released.

What's new:

  • Provider methods. You can now annotate methods in your Module so you avoid manually constructing dependencies.
  • Binding overrides. One Module can now override the bindings in another.
  • Private modules. You can now create bindings that are not externally visible, in order to encapsulate your dependency injections.
  • The ability to inject members of sets and maps using Multibinder and MapBinder respectively.
  • ServletModule now provides programmatic configuration of servlets and filters. GuiceServletContextListener can be used to help bootstrap a Guice application in a servlet container.
  • Custom injections. Guice now includes hooks that allow other frameworks to define custom injection annotations. This enables Guice to host other frameworks that have their own injection semantics or annotations.
  • A tree-like structure for Injectors, i.e., an Injector can have children that inherit all of its bindings.
  • An introspection API: like reflection but for Guice bindings.
  • Pluggable type converters that convert constant string bindings to other types, i.e., Dates, URLs, etc.
  • OSGi compatible. Guice now works well in OSGi managed environments, because AOP-generated classes use a bridge classloader.
  • AOP is now optional, so Guice will work on platforms that don't support bytecode generation (Android).

You can download the new release here. The new manual is here. Now all they have to do is update the public Maven repository.

javax.inject.Inject

On related news (Crazy) Bob Lee, the creator of Guice, and Rod Johnson, the creator of Spring, have gotten together to propose a standard set of annotations and interfaces for using dependency injection in Java under the banner of JSR-330: Dependency Injection for Java (still only a proposal, so JSR-330 is a tentative moniker). There is also a corresponding project over at Google Code. The standardization should greatly help the use of dependency injection in shared 3rd party libraries, allowing the application developer to avoid having to initialize more than one dependency injection framework.

These annotations are modelled closely on those currently in Google Guice:

  • @Inject - Identifies injectable constructors, methods, and fields
  • @Qualifier - Identifies qualifier annotations
  • @Scope - Identifies scope annotations
  • @Named - String-based qualifier
  • @Singleton - Identifies a type that the injector only instantiates once

The utility interface Provider is also in the proposed specification.

Forms, reports and charts created using a powerful WYSIWYG visual editor

A new interesting tool which allows forms, reports and charts to be created using a powerful WYSIWYG visual editor was developed atop the Visual WebGui .NET AJAX platform.

The tool is an automated environment (IDE) for developing web systems using the methodology DDD (Domain-Driven Development). Automato allows the creation of complex systems like ERP and CRM on a powerful Web applications platform for using the same concepts of desktop applications. This model maximizes the interactivity with the end-user and makes the systems more robust.

Unlike the current models of creating Web applications that require prior knowledge of various technologies (DHTML, JavaScript, CSS, etc.), creating rich interface applications (RIA) in Automato™ are automatically managed by a powerful platform which provides a harmonic development experience using a single technology. This dramatically reduces the time of creation, costs and learning curve.

Features Integrated :

1. Powerful Form Editor (WYSIWYG).
2. Multiple Database Support
3. Modeling Database from E/R Diagrams
4. Compare & Merge Databases Model
5. Unique Compare and Merge Applications
6. Source Control Management
7. Issue Tracking System / Project Management System

Learn about Automato...

Chrome Becomes Extensible

Tagged:  

Plugins and extensions for Google Chrome have arrived. As of developer build 2.0.180.0 of Chrome, the browser is now extensible. A page showing how to create extensions recently went up on the Chromium project documentation site as well as some samples--including a Gmail checker. A recent developer release is required to try out the functionality.

The main document page for Chrome extensions is here. Support for extensions is still very early stage, so they are not yet ready for general consumption.

New Web design tool & Themes

The new Point & Click web design tool - the Control & Theme Designer - presents a ground breaking simple, intuitive developer/designer interface to creating advanced, customized, and creative customer-facing Web user interfaces (UIs) without any need to code in HTML and CSS.
The new tool will allow to easily create custom themes for Visual WebGui applications or download complete themes. New themes created by Gizmox that would give your Visual WebGui application familiar, cool looks are going to be available for download. Here are some examples of the themes that you should expect to see when 6.4 Preview is released demonstrated by screenshots of the same control with a different theme each time.
Mac Theme:
dialogbox with Mac Theme

Google Analytics Theme:
Google Analytics Theme
dialogbox with Google Analytics Theme
 
Gmail Theme:
Gmail Theme
dialogbox with Gmail Theme

Facebook Theme:
Facebook Theme
dialogbox with Facebook Theme

Vista Theme:
Vista Theme
dialogbox with Vista Theme

XP Theme:
XP Theme
dialogbox with XP Theme
Black Theme:
Black Theme

You can also get more information through the following resources:

 

Desktop logistics platform ported to web technology with mobile device integration

Learn how a Delphi based desktop logistics system was taken and ported into a new solution that is Web based and can integrate with Mobile Devices.

The article specifies the requirements for that project and the development process of the UI part which was carried out by a single programmer over a period of 3 months using the Visual WebGui Rich Internet Applications Platform. This is believed to be about half of the time it would have taken using other web technology.

"Giving us visual WinForms programming experience for the Web, Visual WebGui was the answer to our requests. We have developed various solutions using .NET and we were able to reuse most of that code and provide a solution that looks and performs very similar to a desktop application... What impressed us immediately was the responsiveness of the solution compared to other products that are based on other web technology," " Enrico Pavesi CTO of Nexus Informatica.

Read the full article...

Free Programming Books

Tagged:  

E-Books has compiled a sizeable list of programming books that are available free for download or online viewing. Topics include Ada, Assembly, C/C++, C#, Haskell, Java, JavaScript, LISP, Perl, Python, Ruby, Visual Basic, and XML.

You can view the list here. My favorites? The Structure and Interpretation of Computer Programs, Thinking in Java, Programming Ruby, and Communicating Sequential Processes. But I haven't read all of them--yet :).

Best free HTML editors

Tagged:  

One thing that all web designers need is a good HTML editor. Plus with the economy the way it is the right price is FREE. Well, over at DevelopersVoice they have put together a good list of the best free HTML editors.

Below is an excerpt from the post.

Aptana Studio :

Aptana Studio is the free, open source Web development environment optimized for use with Ajax libraries and scripting languages like JavaScript, Ruby and PHP. Aptana Studio is considered by many developers the best-in-class authoring environment for today’s more rich and interactive Web pages and Ajax applications.

There is also support for Adobe AIR, Apple iPhone, PHP, and Ruby on Rails development, which comes via additional development plugins.

Pros: Complete IDE, many plugins

Cons : Complicated, developer oriented

Homepage : http://www.aptana.com/studio/

Download : http://www.aptana.com/studio/download

Size : 131 MB License Type : Unrestricted Freeware OS : Windows, Mac, Linux
Free HTML editor


KompoZer :

Kompozer is an open source web development tool built on NVU. The project strives to fix bugs in the NVU project and added new features to it. Both the HTML editor as well as the CSS editor has so far be fixed and updated as part of the Kompozer project - and many more changes are scheduled. Apart from that the main feature set is exactly as in NVU. And one of the most important features is still that editing take place in WYSIWYG (What You See Is What You Get) mode allowing you full control of layout as you work with your web design.

Pros: full featured WYSIWYG editor

Cons : not updated , Last release 2006

Homepage : http://kompozer.net/

Download : http://kompozer.net/download.php

Size : 7.6 MB License Type : Unrestricted Freeware OS : Windows 98 – Vista
Free HTML editor

You can read the full post here.

Clojure 1.0 Released

Tagged:  

The first "stable" release of Clojure has been announced. Clojure, a dialect of Lisp built for the JVM, is one of the few languages with built-in Software Transactional Memory (which I describe in more detail here).

There is also a TODO list of desired features targeted for the 1.1 release.

You can download the 1.0.0 release here.

Designing custom controls with the innovative visual Web design tools

The visual Control & Theme Designer web design tools introduced in version Visual WebGui 6.4 version allows to create cool new designs and themes and also custom controls. The new 'how to' tutorial shows how simple it is to create a Visual WebGui custom control with the new designer tool.

This 'How to' is divided into two parts whereas the first part demonstrates the creation of the programmatic part of the water mark text box control and the second part shows how to add the design time of the control.

View the full tutorial here:
Design Visual WebGui custom controls with the new Control & Theme Designer

WorkHorse Arrives

Tagged:  

After living on my hard drive for a few months, I finally decided to give my new project a home: http://code.google.com/p/workhorse/ (I literally checked in the initial code today). It's very alpha right now, but the general ideas are starting to take shape.

What is WorkHorse?

WorkHorse is a BPM engine written in Java. It is meant to be both lightweight (i.e., embeddable) and powerful. By the time that I am done, I hope to prove that you don't need to force-fit BPM into BPEL, or even have a heavy-weight XML process description layer at all.

The idea for the project originated with some of the concepts/ideas in BPMN, which I like, though I recognize its weaknesses. Workflow (I am using the older, less trendy term) is a natural fit for so many types of applications, but it often seems that developers avoid it because existing solutions are too cumbersome: they force you to run them on some proprietary server, or they are simply a headache to configure and embed in your existing application.

Can WorkHorse alleviate this headache? Stay tuned.

Syndicate content