SlideShare a Scribd company logo
1 of 28
Expand Your Apps And Skills To The
Wider World
AD106
Introduction
Jesse Gallagher
http://frostillic.us
Twitter - @Gidgerby
I Know Some Guys - http://iksg.us
MWLUG’s Unofficial Theme:
Change is in the air
Agenda
1.Where we’ve been
2.Where we are
3.Why it can be easy
Disclaimer 1: Darwino
Disclaimer 2: Situations
The Situation (previously)
My Old Goal: Bring Order to the Universe!
I Failed.
Let’s Talk About XPages
The Good News:
XPages isn’t going anywhere
The Bad News:
XPages isn’t going anywhere
The Situation Now
• XPages brought us forward
• …but only some of the way
• The core didn’t move forward
• OSGi can be peculiar
• The Java version lagged behind
• …and the IDE didn’t encourage it anyway
Our Development Progression
???
???
It’s a Big World
• Lots of languages: Java, JavaScript, Python, Ruby…
• Even more tools: Maven, Gradle, npm, gulp, grunt…
• Differing philosophies: pure client side/mixed,
microservices/monoliths
• It’s not just JavaScript: the state of the art everywhere
changes rapidly
• Just look at WWDC
• This can create choice paralysis
The Good News
• There’s a lot of overlap, both in tooling and in concepts
• It’s not necessary to go all-in on one stack
• The core concepts are more transferrable than ever
Maven Recap
• Build system for Java (and other) applications
• Handles dependencies automatically
• Similar in ways to OSGi, but with important differences
• There are newer systems, but it’s something of a baseline
• There’s a certain amount of pain when dealing with OSGi, but
that’s not entirely Maven’s fault
• Learning Maven gets you familiar with other related systems
Example Application: Social Analyzer
Example Application: Social Analyzer
• AngularJS with Angular Material
• Runs on standalone Java servers, mobile devices, Bluemix,
and Azure
• Connects to third-party services such as Twitter and Slack
• Integrates with Bluemix services: Watson and DashDB
• Embeddable in Connections Cloud
AngularJS
• Client-side app framework
• Implies a technical split in the app between server-side REST
services and client-side JS
• Enforces a strong MVC programming model, with a
JavaScript flavor
Angular Material
• Angular implementation of Google’s Material Design
• One of several popular mobile/responsive UI toolkits
• Great for covering all devices*
* …assuming you’re okay with them all looking like Android
Third-party JS Libraries
• Angular Material, Chart.js, Font Awesome, and so forth
• Using npm, dependencies can be downloaded automatically
• Saves a TON of hassle compared to manually tracking down
and embedding dependencies
Deployment Servers
• As a servlet-based Java app, it can be deployed to standard
servers
• This provides a great deal of flexibility, and smooths the path
to cloud
• When in doubt, Tomcat does a fine job
Social Feeds
• One of the great benefits of Maven:
<dependency>
<groupId>com.ibm.watson.developer_cloud</groupId>
<artifactId>java-sdk</artifactId>
<version>3.0.0-RC1</version>
</dependency>
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>[4.0,)</version>
</dependency>
<dependency>
<groupId>com.github.flowctrl</groupId>
<artifactId>slack-api</artifactId>
<version>v1.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome</artifactId>
<version>1.6.0</version>
</dependency>
Bluemix and Connections Cloud
• Watson’s Tone Analyzer is just a REST API
• DashDB is just a JDBC-accessible database
• Development is done through embedded widgets
• The parent page provides an API to read (some) information
about the environment
• By using this, you can customize your app for the user and
community
• Since it’s “just” an iframe, the app can be deployed anywhere
Darwino.org
• A venture of OpenNTF
• Forthcoming sister site focusing on Darwino-related open-
source projects
• One way for OpenNTF to remain active and moving forward
Conclusion
• There’s a lot to learn
• …but you don’t have to learn all of it!
• The key is having an idea of what’s out there and learning the
common concepts
• Pick a moving platform and hop on it for a while
Questions?

More Related Content

Similar to MWLUG 2016 - AD106

Similar to MWLUG 2016 - AD106 (20)

jQuery Comes to XPages
jQuery Comes to XPagesjQuery Comes to XPages
jQuery Comes to XPages
 
Surrogate dependencies (in node js) v1.0
Surrogate dependencies  (in node js)  v1.0Surrogate dependencies  (in node js)  v1.0
Surrogate dependencies (in node js) v1.0
 
DockerDay 2015: From months to minutes - How GE appliances brought docker int...
DockerDay 2015: From months to minutes - How GE appliances brought docker int...DockerDay 2015: From months to minutes - How GE appliances brought docker int...
DockerDay 2015: From months to minutes - How GE appliances brought docker int...
 
Full stack development using javascript what and why - ajay chandravadiya
Full stack development using javascript   what and why - ajay chandravadiyaFull stack development using javascript   what and why - ajay chandravadiya
Full stack development using javascript what and why - ajay chandravadiya
 
Stacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptxStacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptx
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
 
DockerCon SF 2015: From Months to Minutes
DockerCon SF 2015: From Months to MinutesDockerCon SF 2015: From Months to Minutes
DockerCon SF 2015: From Months to Minutes
 
IBM and Node.js - Old Doge, New Tricks
IBM and Node.js - Old Doge, New TricksIBM and Node.js - Old Doge, New Tricks
IBM and Node.js - Old Doge, New Tricks
 
Cloud anti-patterns
Cloud anti-patternsCloud anti-patterns
Cloud anti-patterns
 
The Readiness of ADF Essentials for Public-facing Web Applications
The Readiness of ADF Essentials for Public-facing Web ApplicationsThe Readiness of ADF Essentials for Public-facing Web Applications
The Readiness of ADF Essentials for Public-facing Web Applications
 
Software Engineering for Startups (University of St Andrews, 2013)
Software Engineering for Startups (University of St Andrews, 2013)Software Engineering for Startups (University of St Andrews, 2013)
Software Engineering for Startups (University of St Andrews, 2013)
 
Cloud anti-patterns
Cloud anti-patternsCloud anti-patterns
Cloud anti-patterns
 
AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)
 
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
第1回バイオインフォマティクスデータ可視化セミナー@Riken
第1回バイオインフォマティクスデータ可視化セミナー@Riken第1回バイオインフォマティクスデータ可視化セミナー@Riken
第1回バイオインフォマティクスデータ可視化セミナー@Riken
 
Untangling the web week1
Untangling the web week1Untangling the web week1
Untangling the web week1
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
 

More from Jesse Gallagher

More from Jesse Gallagher (8)

OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in PracticeOpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
 
OpenNTF Webinar May 2021 - Jesse
OpenNTF Webinar May 2021 - JesseOpenNTF Webinar May 2021 - Jesse
OpenNTF Webinar May 2021 - Jesse
 
CollabSphere 2020 - NSF ODP Tooling
CollabSphere 2020 - NSF ODP ToolingCollabSphere 2020 - NSF ODP Tooling
CollabSphere 2020 - NSF ODP Tooling
 
Engage 2019 - De04. Java with Domino After XPages
Engage 2019 - De04. Java with Domino After XPagesEngage 2019 - De04. Java with Domino After XPages
Engage 2019 - De04. Java with Domino After XPages
 
CollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPagesCollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPages
 
DEV-1467 - Darwino
DEV-1467 - DarwinoDEV-1467 - Darwino
DEV-1467 - Darwino
 
DEV-1430 IBM Connections Integration
DEV-1430 IBM Connections IntegrationDEV-1430 IBM Connections Integration
DEV-1430 IBM Connections Integration
 

Recently uploaded

%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 

MWLUG 2016 - AD106

  • 1. Expand Your Apps And Skills To The Wider World AD106
  • 2. Introduction Jesse Gallagher http://frostillic.us Twitter - @Gidgerby I Know Some Guys - http://iksg.us
  • 4. Agenda 1.Where we’ve been 2.Where we are 3.Why it can be easy
  • 8. My Old Goal: Bring Order to the Universe!
  • 11. The Good News: XPages isn’t going anywhere
  • 12. The Bad News: XPages isn’t going anywhere
  • 13. The Situation Now • XPages brought us forward • …but only some of the way • The core didn’t move forward • OSGi can be peculiar • The Java version lagged behind • …and the IDE didn’t encourage it anyway
  • 15. It’s a Big World • Lots of languages: Java, JavaScript, Python, Ruby… • Even more tools: Maven, Gradle, npm, gulp, grunt… • Differing philosophies: pure client side/mixed, microservices/monoliths • It’s not just JavaScript: the state of the art everywhere changes rapidly • Just look at WWDC • This can create choice paralysis
  • 16. The Good News • There’s a lot of overlap, both in tooling and in concepts • It’s not necessary to go all-in on one stack • The core concepts are more transferrable than ever
  • 17. Maven Recap • Build system for Java (and other) applications • Handles dependencies automatically • Similar in ways to OSGi, but with important differences • There are newer systems, but it’s something of a baseline • There’s a certain amount of pain when dealing with OSGi, but that’s not entirely Maven’s fault • Learning Maven gets you familiar with other related systems
  • 19. Example Application: Social Analyzer • AngularJS with Angular Material • Runs on standalone Java servers, mobile devices, Bluemix, and Azure • Connects to third-party services such as Twitter and Slack • Integrates with Bluemix services: Watson and DashDB • Embeddable in Connections Cloud
  • 20. AngularJS • Client-side app framework • Implies a technical split in the app between server-side REST services and client-side JS • Enforces a strong MVC programming model, with a JavaScript flavor
  • 21. Angular Material • Angular implementation of Google’s Material Design • One of several popular mobile/responsive UI toolkits • Great for covering all devices* * …assuming you’re okay with them all looking like Android
  • 22. Third-party JS Libraries • Angular Material, Chart.js, Font Awesome, and so forth • Using npm, dependencies can be downloaded automatically • Saves a TON of hassle compared to manually tracking down and embedding dependencies
  • 23. Deployment Servers • As a servlet-based Java app, it can be deployed to standard servers • This provides a great deal of flexibility, and smooths the path to cloud • When in doubt, Tomcat does a fine job
  • 24. Social Feeds • One of the great benefits of Maven: <dependency> <groupId>com.ibm.watson.developer_cloud</groupId> <artifactId>java-sdk</artifactId> <version>3.0.0-RC1</version> </dependency> <dependency> <groupId>org.twitter4j</groupId> <artifactId>twitter4j-core</artifactId> <version>[4.0,)</version> </dependency> <dependency> <groupId>com.github.flowctrl</groupId> <artifactId>slack-api</artifactId> <version>v1.2.0.RELEASE</version> </dependency> <dependency> <groupId>com.rometools</groupId> <artifactId>rome</artifactId> <version>1.6.0</version> </dependency>
  • 25. Bluemix and Connections Cloud • Watson’s Tone Analyzer is just a REST API • DashDB is just a JDBC-accessible database • Development is done through embedded widgets • The parent page provides an API to read (some) information about the environment • By using this, you can customize your app for the user and community • Since it’s “just” an iframe, the app can be deployed anywhere
  • 26. Darwino.org • A venture of OpenNTF • Forthcoming sister site focusing on Darwino-related open- source projects • One way for OpenNTF to remain active and moving forward
  • 27. Conclusion • There’s a lot to learn • …but you don’t have to learn all of it! • The key is having an idea of what’s out there and learning the common concepts • Pick a moving platform and hop on it for a while