«Back
BlackBeltFactory made with Vaadin - part 1 - Selection

This post is about BlackBeltFactory.com, a community for learning Java related technologies.

70,000 members contributed to building 100+ exams and great courses over the years.

Typically developers go there to:

  • Take free exams
  • Take distant courses with a coach
  • Contribute to the courses and exams content
  • Coach other developers

Should we add exams and courses about Vaadin on BlackBeltFactory?
Give your opinion in this Vaadin forum thread.

Since the beginning in 2004, we have followed the technology evolution for building JavaBlackBelt.com and went through multiple refactorings. For the front-end, we started with Struts v1 and JSPs. In 2006, we moved to Struts v2 (WebWork) with JSPs and have been so pleased with the improvement for the programmer's point of view. We preferred Struts2 over JSF, because all of us felt there was something wrong with JSF.

In 2007, we introduced some JavaScript/Ajax in our application with the help of Mootools to have more user-friendly Web2.0 behavior. But within a year, it was really a pain to maintain because of the extra layer of client-side JavaScript code. I couldn't say that our JavaScript code was badly structured. Maybe we are not smart enough. We just felt spending too much time on technical aspects and too littile on developing our application's features.

In June 2009, we started developing the course marketplace, which was released in March 2010 and called BlackBeltFactory. We wanted to leave the Struts/JSP/JavaScript glue, and also wanted to have more and more Ajax for the user experience. I felt like having the choice between:
  • JSF
  • Flex
  • GWT


We still had bad feelings against JSF. After having coached projects using JSF, I strongly believe there is something fundamentally wrong with it. Replacing our Struts2/JSP/JavaScript situation with a JSF/JSP/JavaScript situation was no improvement, on the contrary.

Flex was tempting. It has existed for years, people like it and the end-user result/experience is great. But ... I still feel that web applications should contain Html (while I may be wrong, just can't control it).

 

GWT was tempting too. No more JSP. No more HTML for the programmer (or so little). No more JavaScript. But ... still there is a client-side and a server-side from the programmer's perspective (as with Struts/JavaScript). A client-centric application such as Google Docs is a great value. But with a DB centric application as JavaBlackBelt, it's a problem because we need to transfer data prior and after doing anything. The programmer needs to manage the communications between the client and the server explicitly, including JPA entities that would be detached (and even serialized). It looked like the open door to many time-consuming side-effects and technical issues.

 

Then I discovered Vaadin. Rich end-user experience. No JavaScript, not even a client-side (for the programmer's perspective). No JSP/Html. Based on GWT. The model was soo promising that it was worth a try. I downloaded it and started reading the tutorial.

 

to be continued.  (edit: part 2 is here)
 
John Rizzo
BlackBeltFactory co-founder.
 
Comments
Trackback URL:

Hi John,

Great to hear some background info about the BlackBelt.

I've always thought that Vaadin wouldn't be too suitable for building regular websites, but with your site and Directory coming out soon, I maybe proven wrong. But at least very moving in that direction, so maybe the support for building sites will improve from it.

Waiting for the following chapters…

Posted on 3/11/10 7:57 AM.

Top
Great looking site. Well organized. After initial page loading, subsequent page loading response time is still quite noticeable. Is it just my slow wireless modem? But demo.vaadin.com is pretty fast (specially 6.2.6). Anybody else feels the sluggishness? It is not good for Vaadin.

Posted on 3/16/10 12:02 AM in reply to Jouni Koivuviita.

Top
You are right.
One aspect of the problem is probably bound to the Window management. We don't use Joonas' navigator component yet (we tried, but we have to re-try). We need to start from a new application to better understand how the navigator reacts, and how to integrate it successfully.

For example, sometimes when navigating to another page, the previous page first reloads. I'm convinced it's because of our application (not of Vaadin).

Posted on 3/16/10 8:13 AM in reply to Stephen K Lang.

Top
We're pleased to announce the public release of Tori – the modern and sleek discussion forum for Liferay portal . We've kept Tori under the blanket while developing it and
There is a point in every enterprise web application project when the scalability of the application under development is wanted to be measured. There are several reasons for why scalability tests
Vaadin TestBench is a browser automation tool, suited for creating UI level tests for Vaadin applications. It is based on Selenium 2, which means that all features of Selenium 2/WebDriver are also
Servlet 3.0 is awesome, so is CDI . They work well and are a joy to set up. Even adding the Vaadin Navigator to the mix isn’t an issue, since you can use the CDIViewProvider to maintain the
A bit over a year ago we released Vaadin 7 renewing the framework inside out. Then came push support with 7.1 . Now what? Let’s take a look into the future. First off, we do not see
Showing 1 - 5 of 100 results.
of 20

See all blog entries
Subscribe to this blog