MWLUG 2014: Modern Domino (workshop)

Embed Size (px)

DESCRIPTION

It is not uncommon for Notes client developers to feel intimidated by the wide range of technologies available when modernizing an existing portfolio of applications with XPages. In this 2-hour workshop we will provide a series of 20-minute introductions to many of these new and emerging technologies. Learn about Java, Beans, REST Services, Bootstrap, Mobile Controls, data visualization and a whole lot more.

Citation preview

  • 1. Modern DominoNathan FreemanPeter PresnellRed Pill Development

2. Peter PresnellCEONathan FreemanChief Architect 3. IBM BusinessPartnerBased InAtlanta, GAIBMChampionsAverage 20YearsExperienceIBM NotesSpeakersBloggersPresentersMemberOpenNTF(Co-Founder)ModernizingNotesApplication 4. Modern DominoA Quick Start Guide to Modern Web DevelopmentJava Graph Databases REST Services Data VisualizationNative Applications Bootstrap Mobile Controls SSJS 5. Modern DominoRelated SessionsWednesday 1:00 - Modern Domino (Nathan Freeman, Peter Presnell) 3:00 - Build A Bean Workshop (Devin Olson, Mike McGarel)Thursday 1:00 - Don't Put the Cart Before the Source: Tips for Building Your First XPages Java Application(Mike McGarel, Graham Acres) 4:30 - ATLUG Comes To You (Nathan Freeman, Devin Olson, Peter Presnell)Friday 10:15 - Take a REST (Brian Moore) 11:30 - The XPages Mobile Controls: What's New In Notes 9.0.1 (Graham Acres) 1:30 - Building a Structured App With XPages Scaffolding (Jesse Gallagher) 3:00 - Write once, run anywhere - Angular.js in XPages (Mark Roden) 6. Modern Domino: The Magazine 7. nathantfreeman.wordpress.com 8. For LotusScriptDevelopers 9. Libraries & Namespaces 10. Libraries & NamespacesUse com.redpilldevelopment.utilities package com.redpilldevelopment.utilities.portal;import com.redpilldevelopment.utilities.*; 11. Declaratives 12. Data Types Boolean (0 or -1) Byte (0 to 255) Integer (-32,768 to 32,767) Long n/a Single Double String Currency boolean byte short int long float double char n/a 13. Primatives versus ObjectsbooleanbyteshortintlongfloatdoubleCharBooleanByteShortIntegerLongFloatDoubleCharacter 14. DeclarationsDim i As Integeri = 10int i;int i = 10; 15. Classes 16. ClassPublic Class MyClassEnd Classpublic class MyClass {} 17. ConstructorClass MyClassSub New()End SubEnd Class* Assumes Option Publicclass MyClass {public MyClass() {}} 18. Class DeclarationDim class1 As New MyClass() MyClass class1 = new MyClass(); 19. Properties 20. PropertiesProperty Get A As StringProperty Set A As StringProperty Get A As Booleanpublic String getA()public void setA(String a)public boolean isA () 21. Methods 22. MethodsSub A()Function A() As BooleanA = trueEnd FunctionFunction B(p1 As String) As Stringpublic void A()public boolean A() {return true;}Public String B(String p1) 23. Conditionals 24. If StatementIf (condition) ThenElseEnd Ifif (condition) {}else {} 25. Select StatementSelect Case (Month)Case 1: MonthString = JanuaryCase 2: MonthString = FebruaryCase Else: MonthString = InvalidEnd Selectswitch (month) {case 1: monthString = January;break;case 2: monthString=February;break;default: monthString = Invalid;break;} 26. Looping 27. For StatementDim i As IntegerFor i = 1 To 10Print "Count is: ,iNext ifor (int i=1;i