Pick Technologies & Tools Faster by Coding with Jhipster: Talk Page At
Total Page:16
File Type:pdf, Size:1020Kb
Picks, configures, and updates best technologies & tools “Superstar developer” Writes all the “boring plumbing code”: Production grade, all layers What is it? Full applications with front-end & back-end Open-source Java application generator No mobile apps Generates complete application with user Create it by running wizard or import management, tests, continuous integration, application configuration from JHipster deployment & monitoring Domain Language (JDL) file Import data model from JDL file Generates CRUD front-end & back-end for our entities Re-import after JDL file changes Re-generates application & entities with new JHipster version What does it do? Overwriting your own code changes can be painful! Microservices & Container Updates application Receive security patches or framework Fullstack Developer updates (like Spring Boot) Shift Left Sometimes switches out library: yarn => npm, JavaScript test libraries, Webpack => Angular Changes for Java developers from 10 years CLI DevOps ago JHipster picked and configured technologies & Single Page Applications tools for us Mobile Apps We picked architecture: monolith Generate application Generated project Cloud Live Demo We picked technologies & tools (like MongoDB or React) Before: Either front-end or back-end developer inside app server with corporate DB Started to generate CRUD screens Java back-end Generate CRUD Before and after Web front-end Monolith and microservices After: Code, test, run & support up to 4 applications iOS front-end Java and Kotlin More technologies & tools? Android front-end Maven and Gradle Which framework? Spring Boot, Micronaut (alpha), Quarkus (beta), NodeJS (alpha), Dot.NET (alpha) How to build? SQL: H2, MySQL, MariaDB, PostgreSQL, Oracle, MS SQL Server How to test? What is JHipster? NoSQL: MongoDB, Cassandra, Couchbase, How to debug in IDE? Neo4J (beta) How to run in Continuous Integration? Caching: Ehcache, Caffeine, Hazelcast, Infinispan, Memcached, Redis Questions for four applications How to deploy? Imperative and reactive APIs (Spring WebFlux) How to monitor? Technologies & tools? Authentication: JWT, OAuth 2.0, HTTP session How to support? Optional: Elasticsearch, WebSockets, Apache How does it look with our data? Kafka messaging How productive can our team be? SPA Framework: React, Angular, Vue Java: From once every 3 years to every 6 Java & SPA in one project months More releases Testing: Junit, Cucumber, Jest, Protractor, Typescript: every 2-3 months for the last four Gatling years Continuous Integration: Jenkins,Travis, JEE CircleCI, Github, Gitlab, Azure 5 years ago Spring Boot Deployment: Docker, Kubernetes, OpenShift, AWS, Microsoft Azure, Google Cloud, Cloud Foundry, Heroku JEE Multi-language support Spring Boot Application frameworks Text file MicroProfile now Entities are JPA entities with typical types & Micronaut constraints Quarkus CRUD with JHipster Domain Language (JDL) Describes data model through entities Entity Relationships: 1:1, 1:m, m:1, m:n Helion Entity configuration: Service classes, DTOs, pagination More often? Oracle Can also configure application 5 years ago IBM More alternatives Please start with the problem description on the top left, then work your way down. Then move 6 Years of Steady Releases onto the solution description on the right and Oracle work your down from there. No proprietary Layers IBM Best-Practice code, Production-Ready AdoptOpenJDK What’s the risk? JHipster Lead now at Microsoft Azul Java distributions Pick Technologies & Diverse Contributors Redhat now Tools Faster by Weekly downloads went from 3,000 in early 2016 to 40.000 at the end of 2020 Alibaba Java developers today pick more Coding with JHipster: We pick technologies & tools faster by technologies & tools more often coding with JHipster Pick candidates Bell Soft Talk page at: Does it work? Amazon https://bpf.li/cin JHipster picks Analysis steps Does it scale? SAP Is it popular enough? Pick candidates What’s the adoption risk? Does it work? How to build? Does it scale? Analysis steps How to test? Is it popular enough? Makes picking technologies & tools easier How to run in Continuous Integration? Copy & paste from generated applications What’s the adoption risk? How to deploy in Docker? How to build? How to monitor? How to test? Code steps Process How to support? How to debug in IDE? How to debug in IDE? How to run in Continuous Integration? Use full application created by JHipster How does it look with our data? How to deploy? Code steps How productive can our team be? How to monitor? How to deploy into cloud? Get inspired by cloud deployment options How to support? We don’t need to know a technology in detail How does it look with our data? to debug it, deploy it or monitor it How productive can our team be? Pick candidates Java back-end Does it work? Analysis steps Web front-end Does it scale? Pick for 4 applications iOS front-end Is it popular enough? Android front-end How to build? JHipster creates running applications with Articles unknown technologies, so answer most How to test? How to pick technology & tools? questions Books How to run in Continuous Integration? Videos Learn by running unknown code Code steps How to deploy in Docker? Talks How to monitor? Materials How does it help? Online training How to debug in IDE? On-Site training How does it look with our data? Consultants SQL has more annotations and different data type for “id” SQL vs NoSQL: Entities Run code NoSQL not so different from SQL! How can we learn? Outdated Angular separates presentation code to template, uses standard HTML tags Incomplete Problems Angular vs React React mixes business logic & presentation Expensive (consultant, training) code to template, doesn’t use standard HTML tags How to debug in IDE? Started MongoDB through generated Docker Typical Issues Compose file How to run in Continuous Integration? Spring Boot & React Application in one Git How to deploy? Hard project How does it look with our data? Login & user administration Review application CRUD screens How productive can I be? Live Demo Application Develop complete application multiple times, Responsive layout for mobile once with each candidate Monitoring & Administration Dream Use our data Multi-language support For free Generate CI file Monolith and microservices Java and Kotlin Maven and Gradle Develop complete application multiple times, Application Framework: Spring Boot, once with each candidate Micronaut, Quarkus The dream comes true with JHipster Relational DB and NoSQL Imperativ and reactive APIs SPA Framework: React, Angular, Vue Generates CRUD front-end & back-end for our Use our data entities with JDL files For free Open-source.