Thursday, January 27, 2011

Vaadin is what exactly?

If you talk to a Finn, he will tell about Vaadin being a mythical creature in Finnish folklore, the goddess and divine ancestor of the mountain reindeer. They even got a song about it.

Interesting, but not the Vaadin we should be thinking about.

Now if you go to Wikipedia, it defines Vaadin as:
"Vaadin is an open source web application framework for rich Internet applications. In contrast to Javascript libraries and browser-plugin based solutions it features a server-side architecture, which means that the majority of the logic runs on the servers."
Technically correct, but it doesn't exactly tell you what to expect when programming or developing a web application using Vaadin. You read that right. Vaadin is for creating web applications - Rich Internet Applications if you want to be an ass about it. The key thing with Vaadin is that it allows you to make these web app without writing a line of HTML or CSS. Ok, you can write HTML and CSS, but only if you really, really want to. Take a look at its design.

General Architecture of Vaadin

The architecture of Vaadin allows you write Java code as if you were creating a AWT, Swing or SWT application. You heard me! You don't have to write a line of HTML, CSS or even JavaScript. Because HTML, JavaScript and the other browser crap is hidden away, you won't be wrong in thinking that the web browser as a thin-client terminal or platform. Still not buying? Well, let's move on to an example. In the long tradition of hello worlds (if you don't get it, then you suck as a programmer), here a Vaadin "Hello world":

 import com.vaadin.ui.Window;  
 import com.vaadin.ui.Label;  
 public class HelloWorld extends com.vaadin.Application {  
   public void init() {  
     Window main = new Window("Hello World");  
     main.addComponent(new Label("Hello World!"));  

That's it. No HTML template, no JavaScript. Here is the screen shot of web app after it has been compiled and deployed.

That shouldn't be that hard to figure out. I just wrote Java code, a very short one and made a working web application. Can you spell chuyness?

Wednesday, January 26, 2011

Swing-like Chuyness (My Vaadin course of beginners)

It's that time of the year again where I had to teach yet another batch of students. This time I don't think I'll be doing Tapestry5 again - You don't repeat the same gag, to do the next one. So, what is the next gag? This time around it's Vaadin. I wanted to learn how to use Vaadin ever since a former student of mine showed it to me. So, I plan to build something using Vaadin and take my students along for the ride. 

Like my Tapestry course, I will walk you through a complete web application development from design to deployment using the Vaadin framework. I think you should read "walk you through" like "we will be winging it". Making good lesson plans isn't really one of my strong points.

The course will look like something this:

  1. Vaadin is what exactly? 
  2. What exactly are we up to?
  3. Springing DAO: Spring + Hibernate
  4. Breaking Tradition: GUI programming for webapps
  5. Tweaking out! 
  6. Coming back alive: Deploying for WAR
This isn't exactly set in stone, more like something I just pulled out of my ass. So if there's something missing, we will deal with it when we get to that bridge. We will make up the requirements and specification as we move along.

Tuesday, January 25, 2011

Cisco Skills Competition 2011 @ MSU-IIT

It was time again for the Cisco Skills Competition 2011. This is an annual event among Cisco Networking Academies. Its a networking competition where CNA students go head-to-head trying to network, troubleshoot and generally just figure out small to medium size data networks. This displays their technical knowledge, confidence, leadership and analytical skills.

The Cisco Skills Competition 2011 - Cluster F was hosted generously by MSU-IIT in Iligan City. We hope that next time around Capitol University will get to host the Competition.

From Cisco Skills 2011

I would like to thank my students for participating. From the Computer Studies, Carl Tanilon (Captain), Roldan Baldo, Nick Ranario for the Basic Networking category. From Engineering, Andrew AraƱas (Captain), Marites Unabia, Charles Borres. Although, I know we didn't win first place but 2nd and 4th place ain't so bad in a field of seven.

From Cisco Skills 2011

Link to the picture album:

A shout out to the MSU-IIT Cisco staff: Sir Ernesto, Engr. Roy, and Mr. Ted.

Wednesday, January 5, 2011

Drupal 7 is out! Everything in my world is right!

 Drupal 7 is out! Everything in my world is right!

Downloaded it which was at the time a good idea. It was around 2.0mb which I though was to be a quick download. Well, not really - me thinks there are a lot of people also trying to get their grubby hands on this.

So fast-forward a bit, unpacked it - I use 7zip - and installed this puppy. It installed beautifully as you can see from the screen shot.

First impressions?

Web2.0 goodies abound like overlays, rollovers and such.
Check this screen shot of the new new article interface. As you can see its clearly an overlay - it uses JavaScript for those who fail to grasp the obvious.

It doesn't sound so bad - although, they use a lot of JavaScript, its used with a purpose and not that "use JavaScript here bcuz it l33t! haxxor!"

Now, time to figure out this puppy.