Coming back from The View Lotus Developer 2007, Barcelona
I am using IBM Lotus Notes/Domino exclusively to develop web applications for more than 10 years. Up to now, I only used LotusScript and @formulas to do the server-side coding. Thanks to the Barcelona sessions by Lance Spellman and above all John Kidd, I have decided to switch to Java for all my future projects.
The advantages of Java over LotusScript
LotusScript is a scripting language with object oriented extensions. Java is a complete object oriented language, and this seem to fit better the way I think.
Coding in LotusScript means being totally isolated in the Notes world. With Java, I am connected with a much larger community.
The version 8 release of Notes/Domino will be completely Eclipse (Java) based.
Reasons to continue with LotusScript
First of all, the current releases of Notes/Domino only support Java for the backend. There are no Java classes to work with the Notes UI. This limitation will not exist anymore in the version 8 release. For me, this even is a no-brainer: I am a web developer. I don't do Notes client stuff.
Looking at Java from a JavaScript perspective
I realize that I'm doing the complete opposite of most other developers: I'm a native JavaScript developer, and now I look at Java from that perspective. Usually, it's the experienced Java guys who look at JavaScript from their perspective. JavaScript and Java are two completely different worlds. I'll talk more about this in the future.
What next?
I hope there are lots of readers out there who are taking their baby steps in Java like me. And hopefully, hardcore Java on Domino guys will help me out by commenting suggestions when I get it totally wrong. Expect to see a lot of "baby step Java" in my next posts.
Comments
12/07/2007 01:00:16 PM, Ben Poole
One word of warning when doing everything with Java instead of Lotusscript: DOMINO DESIGNER.
OK, that's two words. The IDE is pretty grim for Java development. In fact, it's very grim. And debugging is a real bear. You can (theoretically) do remote Java agent debugging from Eclipse, but this is a black art!
12/07/2007 03:09:16 PM, Tom ONeil
This might be a dumb question... but are you developing in R6,R7, or R8?
12/07/2007 03:17:18 PM, Tom ONeil
The reason I ask... I'd love to hear if R8 has the same issues with unrecycled domino objects.
07/12/2007 15:23:54, Ben Poole
I haven't tried in 8, but I assume Notes 8 still requires recycle() calls, as the requirement for recycling comes from the underlying codebase, i.e. Java wrappers around the original Notes C / C++ code.
07/12/2007 18:38:53, Michel Van der Meiren
@Ben: Bob Balaban has a trick he calles "The two headed beast". This together with DIIOP make it very possible to write and debug Java Agents in Eclipse. @Tom: I am developing in R7, and yes: you have to recycle() notes objects to prevent the server from drowning in lost threads. So it is better to write a wrapper class around these to make sure the recycle happens automatically I think.
12/07/2007 09:42:21 PM, Tom ONeil
Talk to me about your wrapper class? Do you do that for every notes object?
That's a great idea but it's too bad Lotus doesn't wrap their own objects with dispose events (or something... you can tell it's been a while since I've used Java).
08/12/2007 01:33:07, Ben Poole
Oh it's possible to write and debug in Eclipse, but it's a right palaver to set up. It's supported in Notes with regards attaching a remote debug session (typically, in Eclipse) to a Notes agent. But it's very hit and miss.
To add a comment, log in or register as new user. It's free and safe.