Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
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?
Prochain SlideShare
Chargement dans…5
×

MWLUG 2016 - AD106

599 vues

Publié le

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.

Publié dans : Logiciels
  • Soyez le premier à commenter

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?

×