Blog

The English part of my blog is mainly technical. If you can read Italian, check the Italian section for articles of other kind.

Google App Engine Is Not Free Java Hosting

Let me clarify: this is not a rant about GAE: I just want to write about my first approach with it. GAE is Free, is Java and is Hosting, so why this title? Because I've read some articles talking about GAE as a solution to host Java web applications for free. But it depends on how you think to use it: if you have written an application and are searching for a solution to host it, you must keep in mind that you will need to make heavy changes to your app.

In my case, I use MeshCMS, my own CMS, to experiment with new technologies. I knew that It would have been hard since MeshCMS uses the filesystem to store pages, and GAE does not allow to write to the filesystem. I decided to redirect filesystem writes to the datastore, just like GaeVFS does. I wrote the necessary code using both JDO and JPA, and at the end I chose JPA since it seemed to produce slightly cleaner code. In my opinion, it's easier to convert from filesystem to datastore than to convert from a traditional database…

Read more

MeshCMS 4 On Google App Engine

Google App Engine is one of the best things that Java developers have got in the last years because it means free Java hosting. When I read about it for the first time, I thought to try MeshCMS on it, but the first limitation I learned was a no go: Google App Engine forbids writing to the filesystem, so a file based CMS can't work on it.

Recently I thought that maybe I discarded that option too early and that GAE is too good to be ignored. I constantly keep an eye on Java hosting and there are some nice offers, but none of them can compete with cheap PHP hosting. Sure, you get lot of resources with Java plans, but if you just have to host a CMS, there's no reason to use MeshCMS and pay ten times more than, say, use CMS Made Simple on a €10/year web hosting.

That's why I decided to experiment with a filesystem wrapper that redirects all writes to the GAE Data Store. There is a library named GaeVFS that already does this. I tried it, but unfortunately it didn't work. Not its fault…

Read more

MeshCMS Supports PHP!

I was not aware of the existence of Quercus, a PHP implementation written in Java. It runs as a servlet and is not limited to Resin, so I dropped the JAR in MeshCMS 4 (which I run on Jetty at the moment), and added index.php to the welcome file list to mark .php as a page extension. This is how the Quercus test page looks without any change:

This is very important, since MeshCMS 4 allows to create modules and themes using any scripting language, like JSP, Freemarker and, from now on, PHP.

Read more

First MeshCMS 4 Video

I just recorded a video while playing with the current MeshCMS 4 development code. It contains some random tests, showing some cool features:

  • creation of a new page
  • page editing
  • switching between draft and published version of the page
  • usage of modules
  • file manager with integrated control panel
  • drag&drop to order pages and modules

The application is run in GWT development mode, so it's slower than it will be when compiled to JavaScript.

There is A LOT of work to do yet before it can be released, but the big part has been done, as you can see. FYI words between asterisks *** like this *** are just markers for text that needs to be put in better form in resource bundles.

Please comment and share!

Read more

GWT Is Neither Java Nor JavaScript: It's GWT

I've heard of many people criticizing GWT, some of the most common reasons are that it translates Java into JavaScript, that web sites are not desktop applications, and that GWT uses Java to write code. Well, here's my thoughts on these points.

I've always looked at GWT like a very interesting technology, but I only recently introduced myself to real GWT development to create the admin interface of MeshCMS 4 (my own GPL CMS). I'm really impressed, and I'm writing this post to point out how I think one should look at GWT.

GWT is neither Java nor JavaScript

Let me clarify what I mean. Sure, you use Java syntax and Java tools when developing (I'm a NetBeans fan for what it's worth). But in a certains sense you're not writing real Java code, since you're not targeting the Java VM. But clearly you're not writing JavaScript, and you can't use closures and such. If you write GWT code thinking about JavaScript, you've missed the whole point. Yes, it will become JavaScript…

Read more

« Newer Posts | Older Posts »

Search

Tag Cloud