Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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 pec...
Our Development Progression
???
???
It’s a Big World
• Lots of languages: Java, JavaScript, Python, Ruby…
• Even more tools: Maven, Gradle, npm, gulp, grunt…
...
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
•...
Maven Recap
• Build system for Java (and other) applications
• Handles dependencies automatically
• Similar in ways to OSG...
Example Application: Social Analyzer
Example Application: Social Analyzer
• AngularJS with Angular Material
• Runs on standalone Java servers, mobile devices, ...
AngularJS
• Client-side app framework
• Implies a technical split in the app between server-side REST
services and client-...
Angular Material
• Angular implementation of Google’s Material Design
• One of several popular mobile/responsive UI toolki...
Third-party JS Libraries
• Angular Material, Chart.js, Font Awesome, and so forth
• Using npm, dependencies can be downloa...
Deployment Servers
• As a servlet-based Java app, it can be deployed to standard
servers
• This provides a great deal of f...
Social Feeds
• One of the great benefits of Maven:
<dependency>
<groupId>com.ibm.watson.developer_cloud</groupId>
<artifac...
Bluemix and Connections Cloud
• Watson’s Tone Analyzer is just a REST API
• DashDB is just a JDBC-accessible database
• De...
Darwino.org
• A venture of OpenNTF
• Forthcoming sister site focusing on Darwino-related open-
source projects
• One way f...
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 th...
Questions?
Upcoming SlideShare
Loading in …5
×

MWLUG 2016 - AD106

605 views

Published on

AD106: Expand Your Apps And Skills To The Wider World. This was a discussion of where we've been as Domino developers and how we can move on from here.

Published in: Software
  • Be the first to comment

MWLUG 2016 - AD106

  1. 1. Expand Your Apps And Skills To The Wider World AD106
  2. 2. Introduction Jesse Gallagher http://frostillic.us Twitter - @Gidgerby I Know Some Guys - http://iksg.us
  3. 3. MWLUG’s Unofficial Theme: Change is in the air
  4. 4. Agenda 1.Where we’ve been 2.Where we are 3.Why it can be easy
  5. 5. Disclaimer 1: Darwino
  6. 6. Disclaimer 2: Situations
  7. 7. The Situation (previously)
  8. 8. My Old Goal: Bring Order to the Universe!
  9. 9. I Failed.
  10. 10. Let’s Talk About XPages
  11. 11. The Good News: XPages isn’t going anywhere
  12. 12. The Bad News: XPages isn’t going anywhere
  13. 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
  14. 14. Our Development Progression ??? ???
  15. 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. 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. 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
  18. 18. Example Application: Social Analyzer
  19. 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. 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. 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. 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. 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. 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. 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. 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. 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
  28. 28. Questions?

×