An Introduction to XPages for Lotus Notes Developers

XPages

(This column was originally posted on the  4CTechnologies blog)

4CTechnologies & XPages

My name is Aaron Brake, and I am a Notes development professional of 6 years. I am excited to be the author of a recurring column on the 4CTechnologies blog based around my experiences with XPages, with the goal of sharing my knowledge and our company’s capabilities with other prospective XPage developers.

What I’ll try to do here is reveal some of the tricks I’ve learned to understand and utilize XPages from a background of traditional Notes development. I’ll also point out several web resources and training methods that led me to the techniques and code samples that I use. As I continue, I hope that I will both highlight the benefits of using XPage development, as well as break down the barrier of understanding that clouds the development community.


 A little about my background

I started development in Notes 7, and worked primarily in LotusScript and Formula language. I have experience with both client applications and web-based Lotus applications. This year, I was given the opportunity to do my first large-scale XPages project when a client requested a web and mobile solution for standards tracking and reporting across numerous locations within their organization. This gave me the opportunity to begin branching out into this development method, and further understand its benefits.

What is an XPage

Simply put, an XPages is a web and mobile application development platform built atop IBM Domino functionality. XPages hit the market with an unfortunate learning curve and slow movement to adapt. However, as time progresses, and more projects are done using the technology, applications are starting to take advantage of the benefits of notes collaboration combined with the new technologies provided by XPages.

xpagesPic

As a Notes developer, why use XPages?

There are many reasons to use XPages. First, XPages allows for web-enabled systems without relying on the Notes system of converting forms to HTML. This gives the developer greater control over structures that have long been difficult to maintain in traditional Domino environments. An XPage developer has control over the content definition, the version, all head data, and can, as a result, fully utilize up-to-date structures in HTML 5 with no conflicts or difficulty. Additionally, XPages add support for Managed Java beans, as well as support for Server Side JavaScript, Ajax, and integrated Dojo widgets.

Sounds great, but what’s the catch?

XPages can be difficult to get into. The structuring, while similar to the Domino development system, relies more on XML and JavaScripting standards to maintain its data sources. Additionally, many Notes developers have learned tricks that keep traditional Domino development as being the most efficient way of creating new systems, building on old code repositories and design structures. Also, performance of XPages in the Notes Client requires a bloated server response, leading to loading and performance issues, which can detriment the unified interface that XPages present.

Where do I start?

As I prepare to share some of the things I’ve learned, I’d like to point out just a few of the many resources that helped me when I was starting out. All of these are fantastic places to begin learning about XPages and to stay up to date on the latest news.

http://notesin9.com/

http://xpagesblog.com/XPagesHome.nsf/HomeBlog.xsp

http://www.qtzar.com/

In the coming weeks, I’ll begin posting some more technical articles and code samples that I think will help Notes developers break down the barrier between traditional development and XPage development. Some of these topics will include utilization of Custom Controls, getting the most out of Dojo and the Extension Library, hidden gems in XPages, and dynamic data binding.

Leave a comment