A few notes to ’Delving into XPages: Wins, Losses, and abject FAILs ....’ article
David Marko 21 February 2012 11:41:49
I just have to add a few notes to following article: "Delving into XPages: Wins, Losses, and abject FAILs -- What it has been like to start transforming an existing application"http://www.thenorth.com/apblog4.nsf/0/03FF1347FDC242DB852579AA0062EA57
... you can read it first and see my notes below ...
a) xPages are based on wrong and old fashion technology.
JSF is not very well opinioned in community for its robustness in negative meaning. Moreover xPages comes with JSF 1.x implementation where there is JSF 2.x for many years with e.g. with annotation support. It's strange for me that IBM released the new product that is de-facto old from starting date :-)
b) the documentation is horrible ...
... if we talk about commercial product. You are usually pointed to some blog posts from community :-( We also have bought Mastering xPages here but I think IBM should give this book (in PDF) for free as official documentation for its product to enlarge community and to support product adoption.
I'm working with two other web frameworks ... just compare their documentation, which is for free!!!!
http://web2py.com/book
http://www.playframework.org/documentation/1.2.4/home
https://docs.djangoproject.com/en/1.3/
Also the help(in forums) is not as it should be. I think the xPages core developers should read xPages forum every day(there are actually a few posts per day so its easy) and respond for many questions that users can't answer. See my list of questions on xPages forum.
http://www-10.lotus.com/ldd/xpagesforum.nsf/xpTarget.xsp?tagValue=David+Marko484
Many questions are without real answers because community do not know and xPages core developers don not read this forum???
Again compare this with e.g. Play! (and certainly with many others web frameworks) . Play! core developers are actively responding in forum by answering internal or difficult questions ... Why IBM cant do it for community??
c) I really don’t like the notes JAVA API parameters
Just rather a small complain ... but why do they decided to use generic parameters names which is completely useless.
e.g. view.getAllDocumentsBykey(Vector arg0, boolean arg1)
... why arg0 and arg1, why not a real names that would help you to understand, what does it mean ... Also eclipse JAVA editor can show you help from api docs , but there is nothing to show ... look at Play!Framework API how it should be done ... and it’s done by small private company comparing to big IBM.
d) development in Designer is slow, really slow
yes if you have a hello world demo, its fast. But if you have an application with 40 controls and 50 xPages. Its terribly slow to update something. I can overcome this by installing local Domino server that speeds things slightly. Just one example ... why Domino reloads entire app when I update client JavaScript library. It can't be really disabled ??
e) there is a real mess on xPage
We have a quite big app we did last year for one of the our customers. To manage a huge form in xPages it is a real mess. Modern web frameworks do MVC separation to not to mix HTML, with real code. What we have here? xPages is de-facto xml code, that encapsulate view part of app(html) and code in many cases all in one. I can’t really find a proper way how to allow our HTML designer to handle page layout without breaking our code on page(we are putting all codes in java managed beans but you still have to put some code on page though) ... its like 10 years ago. (look at the Grails or Rails or Play! framework approach)
f) Lotus Notes to xPages migration
Its like migration between completely foreign technologies only with the same database. We are currently rewriting our Lotus Script libraries(and we have many, really many :-) ) into JAVA. Its a real pain to do it without bugs and with 1:1 functionality. Also there are some not well thought caveats like that JAVA code you write for xPages cannot be used easily in JAVA agents. We have many Lotus Script libraries which code we use on forms and in agents (some general utilities). You can’t do it ... see my post here: http://www-10.lotus.com/ldd/xpagesforum.nsf/topicThread.xsp?documentId=600F1DD4D10BBC35852579990044A749&action=openDocument
g) old JSF technology
=no support for modern technologies like commet, websockets ...
h) PLEASE, PLEASE, PLEASE I beg you IBM ...
... do something good for NSF database. They are great, really great ... first NO-SQL database on market since 80' and you are loosing market comparing to progress that databases like Couchbase, MongoDB etc. do last years. It really smells to me that IBM lost their source codes for LN core or lost all former developers so there is nobody who understands the old code to make a changes. Most changes are just add-ons to LN. But core NSF features(yes there are some small change over last years, but really small) remains unchanged for 10-12 years (I'm developing on Notes since version 3.0)
I don’t believe IBM CAN'T speed up database indexed or speed up full text for example. Why not to use Apache Lucene full text to speed up everything. Apache Lucene is such fast that we can use it even instead of standard views to retrieve sorted data from database. Don't tell us it can’t be done when http://www.fewclix.com/ did it for mail.
- Comments [0]