Thursday, 29 March 2012

Web N Shit

So, as inevitably happens, the client wants to look at some mobile interface to some of the application we have.

Which for various reasons at the moment, means: web/html5/all that jazz. Fortunately someone else is working on the browser stuff so I get to avoid javascript ...

I get to play on the backend, so that means Java EE 6 ... Boy it's been a long time since I used any of this. Well I had a play with a wiki/documentation system a couple of years ago for fun but the last time I was paid to work on it was around 12 years ago: you know back when CORBA was mentioned on the first page ...

Java EE 6 has a fairly sleep learning curve - and a lot of reading required - but so far i'm pretty impressed. As you might imagine, with a decade of maturity behind it, there is a good bit of polish in the design. Some of the errors you get from the implementations could be a bit more meaningful though - array index out of bounds exception because one didn't specify proper attributes on the class or method don't help much. So after a couple of days of swearing violently ... it starts to fall into place really well.

I knew this was coming so for the last month or so I'd been re-architecting the desktop application in a more tiered and re-usable fashion so much of the jax-rs interface just slotted straight over the top with only a couple of lines of code for each request type. But that's the easy stuff: I also need long-running async tasks, so thats another big chunk of api to get to grips with.

2 comments:

Sankar P said...

Did you check out Go for implementing server side software ? Coincidentally it is becoming 1.0 today. I played around with it for a whiel for some simple tasks and it seemed neat. Due to the async nature, the need for locks is reduced a lot and memory managed too. I believe you may like it. I remember you mentioning about go in your posts long time ago.

NotZed said...

go no, not even remotely on the radar.

Yeah i looked at it some time ago and I agree it looked 'neat', but it's too much to learn and I just don't like the syntax.

I'm not about to write 80KLOC of code just for 'neat' either, and it appears to lack some of the required building blocks. I'm not sure its even intended for such an application: it's a system language, not an application one.