engage 2015 - Domino App Development - Where should I go now?
-
Upload
rene-winkelmeyer -
Category
Software
-
view
167 -
download
4
Transcript of engage 2015 - Domino App Development - Where should I go now?
2
René Winkelmeyer Head of Development
midpoints GmbH http://www.midpoints.de IBM Advanced Business Partner IBM Design Partner (Notes Domino, Mobile, Verse) Apple Enterprise Developer und MDM Group Member Samsung Enterprise Alliance Partner Services - Enterprise Mobility Service - Mobile Device und Application Management - IBM Notes Traveler und IBM Mobile Connect
About me
3
• Skype
muenzpraeger • Twitter
muenzpraeger • LinkedIn
muenzpraeger • Slideshare
muenzpraeger
• Web http://blog.winkelmeyer.com http://www.midpoints.de
• Mail [email protected] [email protected]
OpenNTF • File Navigator • Generic NSF View Widget for IBM Connections
About me
René Winkelmeyer Head of Development
8
Stateless, stateful – server-side oder client-side?
§ xxx
HTML (1992)
JavaScript (1995)
CSS (1996)
Java (1995)
15
Stateless, stateful – server-side oder client-side?
§ xxx
http://io9.com/the-history-channel-and-jeremy-renner-are-working-on-te-1693267727
16
Stateless, stateful – server-side oder client-side?
§ xxx
http://io9.com/the-history-channel-and-jeremy-renner-are-working-on-te-1693267727
20
Programming Language Capabilities Notes/Domino
§ @Commands / @Functions
§ LotusScript
§ Procedural
§ OOP
21
Programming Language Capabilities Notes/Domino
§ JavaScript
§ On the web
§ In the client
§ CSS (not a language)
§ On the web
§ In the Client
22
Programming Language Capabilities Notes/Domino
§ Java
§ In Agents
§ In XPages
§ As OSGi HTTP Plugins for Equinox
§ As OSGi HTTP Plugins for Expeditor
§ As OSGi HTTP Plugins for DOTS (Domino OSGi Tasklet Service)
33
Skillsets – Frontend
§ Strong eye for UI design
§ Love to move pixels
§ Working around Browser behaviour
§ Open to adapt new frameworks and behavior frequently
§ Experience in consuming APIs
34
Skillsets – Frontend
§ HTML5
§ JavaScript
§ Modern frameworks like AngulaJS (even after 2.0), Backbone.js, Dojo, jQuery etc.
§ Node.js / Rhino
§ CSS3 / LESS / SASS
35
CSS2 vs. CSS3
§ New attribute selectors § element[foo^="bar“] - <element foo="barn" § element[foo$="bar“] - <element foo="rebar"> § element[foo*="bar“] - <element foo="rebaring">
§ New pseudo classes § :root § :nth-child(n) § :nth-last-child(n) § :enabled
§ Background style properties § background-clip § background-origin
45
Skillsets – Backend
§ Good understanding of application based security
§ KnowHow in SQL and NoSQL (i. e. MongoDB, CouchDB) databases
§ Minimum Java 7 knowledge, Java 8 preferred
§ Source control usage is a must (Git)
46
Skillsets – Backend
§ Experience with modern web development frameworks (JavaServerFaces, GWT, Spring, Vaadin, JavaFX)
§ Hands-on experience with Junit testing, build tools (Maven) and Continous Integration (CI) tool like Jenkins or Bamboo
§ Knowledge in designing secure, but also easily consumable APIs
§ Experience with J2EE AppServers (Tomcat, Liberty, Glassfish)
51
API Design
https://api.mycompany.com /people/all GET /people/<id> GET /people/<id> POST /people/<id> DELETE
52
API Design
https://api.mycompany.com /people/all GET /people/<id> GET /people/update/<id> UPDATE /people/delete/<id> DELETE
58
Domino server – the unknown powerhorse!
§ IBM has introduced with 8.5.3 a „new“ J2EE engine to the Domino server
§ Expeditor WebContainer
§ Fulfills Servlet 2.5 specification
§ You can use standard Web Applications (aka Web Application Archive == WAR) in a modified version
§ More information is here available http://www.slideshare.net/fiorep/domino-osgi-development
60
XPages vs. Vaadin – History and Presence
XPages Vaadin
• Bought by IBM in 2001 (XForms)
• Was „Workplace“
• Based on JSF
• Development by IBM (Core, closed source) and partly by the community (ExtLib)
• In 2001 newly developed as
„Millstone Library“ (IT Mill)
• Uses GWT since 2007 (IT Mill Toolkit 4)
• „Feels“ like SWT/AWT/Swing
• Further development by Vaadin Ltd. (open source, Apache licensed)
61
XPages vs. Vaadin – Operating systems
XPages Vaadin
• All Domino supportes operating
systems
• All operating systems with Java 6
and higher
62
XPages vs. Vaadin – Supported AppServers
XPages Vaadin
• IBM Domino
• XPages Buildpack (IBM Bluemix)
• Apache Tomcat 5+
• IBM WebSphere (Full/Liberty) 7+
• JBoss 4+
• Liferay Portal 5.2
• Oracle WebLogic 10.3+
• WildFly 8+
• Java Servlet 2.4 / JSR-286
• ...
63
XPages vs. Vaadin – Release / Dependencies
XPages Vaadin
• Rely on Domino-Updates (Major,
Minor, FP, IF)
• Updating the App-Server means Updating all XPages applications
• A server update affects all XPages applications
• New release (minor) all 4-5 weeks
• Updates of the AppUpdates are independent from Vaadin – and vice versa
• Vaadin-Updates can be done selectively on a per-applicatio base
64
XPages vs. Vaadin – IDE
XPages Vaadin
• IBM Domino Designer 8.5.2+, nur
Windows
• Eclipse
• IntelliJ
• Netbeans
• ...
65
XPages vs. Vaadin – Programming languages
XPages Vaadin
• SSJS
• JavaScript
• Java
• Java • JavaScript
• Scala
• Jython
• ...
68
Stateless, stateful – server-side oder client-side?
http://www.slideshare.net/cnbailey/ibm-interconnect-java-vs-javascript