My Comparing JVM Web Frameworks talk as presented at Denver's Open Source User Group (@dosug) and vJUG (@virtualjug). Covers the history of web frameworks as well as various methods for choosing one. Video on YouTube at https://www.youtube.com/watch?v=ygW8fJVlDxQ.
The document discusses key concepts in Java including classes, objects, fields, methods, variables, primitive types, reference types, and memory management. It explains that classes are the basic building blocks in Java programs and contain fields and methods. Objects are instances of classes that exist in memory. The document also covers variable scope, default initialization, and garbage collection in Java.
Quicksort - a whistle-stop tour of the algorithm in five languages and four paradigms. Programming Paradigms: Functional, Logic, Imperative, Imperative Functional Languages: Haskell, Scala, Java, Clojure, Prolog
This document provides an overview of core Java APIs covered on the OCA exam, including Strings, StringBuilder, arrays, sorting, and searching. It discusses that Strings are immutable sequences of characters with useful methods like length(), charAt(), indexOf(), and substring(). StringBuilder is mutable and more efficient for string manipulation than concatenating Strings. Arrays are objects that hold primitives or references in indexed memory locations. The document covers creating, accessing, and searching arrays, as well as the Arrays utility class methods like sort().
Inspired by and based on Java Language Architect Brian Goetz’s blog post: Data Oriented Programming in Java.
The document provides information about strings in Java including: 1) Strings are objects in Java that are used to hold text data. The String class represents strings and provides various methods to work with strings. 2) There are two ways to create String objects: using string literals or the new keyword. String literals reuse existing objects in the string constant pool. 3) Important String class methods include charAt(), concat(), equalsIgnoreCase(), length(), replace(), substring(), toLowerCase(), toUpperCase(), and trim(). These methods allow manipulating and accessing string values.
We compare typical definitions of the left and right fold functions, with their mathematical definitions in Sergei Winitzki’s upcoming book: The Science of Functional Programming. Errata: Slide 13: "The way 𝑓𝑜𝑙𝑑𝑙 does it is by associating to the right" - should, of course ,end in "to the left".
The document discusses the principles of object oriented class design known as SOLID principles, which are Single Responsibility Principle (SRP), Open Closed Principle (OCP), Liskov Substitution Principle (LSP), Interface Segregation Principle (ISP), and Dependency Inversion Principle (DIP). It provides examples and explanations of each principle, with SRP focusing on a single responsibility, OCP on extension without modification, LSP on substitutability of subclasses, ISP on specific interfaces over general interfaces, and DIP on depending on abstractions rather than concretions.
(download for best quality slides) Gain a deeper understanding of why right folds over very large and infinite lists are sometimes possible in Haskell. See how lazy evaluation and function strictness affect left and right folds in Haskell. Learn when an ordinary left fold results in a space leak and how to avoid it using a strict left fold. This version eliminates some minor imperfections and corrects the following two errors: slide 15: "as sharing is required" should be "as sharing is not required" slide 43: 푠푓표푙푑푙 (⊕) 푎 should be 푠푓표푙푑푙 (⊕) 푒
slides can look grainy and/or out of focus when seen on slideshare - download for flawless quality - Based on Scott Wlaschin’s great book 'Domain Modeling Made Functional' and on Martin Odersky's talk 'A Tour of Scala 3'.
The document discusses lambda expressions in Java 8. It defines lambda expressions as anonymous functions that can be passed around as method parameters or returned from methods. Lambda expressions allow treating functions as first-class citizens in Java by letting functions be passed around as arguments to other functions. The document provides examples of lambda expressions in Java 8 and how they can be used with functional interfaces, method references, the forEach() method, and streams. It also discusses scope and type of lambda expressions and provides code samples demonstrating streams and stream pipelines.
The Collections Framework (java.util)- Collections overview, Collection Interfaces, The Collection classes- Array List, Linked List, Hash Set, Tree Set, Priority Queue, Array Deque. Accessing a Collection via an Iterator, Using an Iterator, The For-Each alternative, Map Interfaces and Classes, Comparators, Collection algorithms, Arrays, The Legacy Classes and Interfaces- Dictionary, Hashtable ,Properties, Stack, Vector More Utility classes, String Tokenizer, Bit Set, Date, Calendar, Random, Formatter, Scanner
An operator is a symbol designed to operate on data. They can be a single symbol, di-graphs, tri-graphs or keywords. Operators can be classified in different ways. This is similar to function overloading
This document contains information about a mentoring program run by Baabtra-Mentoring Partner. It includes: - A disclaimer that this is not an official Baabtra document - A table showing a mentee's typing speed progress over 5 weeks - An empty table to track jobs applied to by the mentee - An explanation of sets in Python, including how to construct, manipulate, perform operations on, and iterate over sets - Contact information for Baabtra
A look on one of the features of Java 8 hidden behind the lambdas. A different way to iterate Collections. You'll never see the Collecions the same way. These are the slides I used on my talk at the "Tech Thursday" by Oracle in June in Madrid.
Computer Graphics in Java and Scala - Part 1. Continuous (Logical) and Discrete (Device) Coordinates, with a simple yet pleasing example involving concentric triangles. Scala code: https://github.com/philipschwarz/computer-graphics-50-triangles-scala Errata: 1. Scala classes TrianglesPanel and Triangles need not be classes, they could just be objects.
In this core java training session, you will learn Collections – Lists, Sets. Topics covered in this session are: • List – ArrayList, LinkedList • Set – HashSet, LinkedHashSet, TreeSet For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
See part 1. Slides can look grainy and/or out of focus when seen on slideshare - download for flawless quality
One of the most difficult things to do (in Java web development) today is pick which web framework to use when development an application. The Apache Software foundation hosts most of the popular Java web frameworks: Struts, MyFaces, Tapestry and Wicket. This session will compare these different web frameworks, as well as Spring MVC and Stripes. It will briefly explain how each works and the strengths and weaknesses of each. Tips, tricks and gotcha's will be plentiful. Lastly, it will provide attendees with a sample application that utilizes all 6 frameworks, so they can compare line-by-line how the frameworks are different. This sample application will include the following features: sortable/pageable list, client and server-side validation, success and error messages as well as some Ajax functionality. The frameworks will be rated on how easy they make it to implement these features.
The document compares several popular Java web application frameworks across various criteria. It finds that Grails and Vaadin are generally the easiest to use due to their conventions and drag-and-drop design modes. Play and Grails best support rapid prototyping with features like scaffolding. Play and Vaadin excel at scalability thanks to technologies like Akka and GWT. All frameworks have strong documentation except Spring MVC and Vaadin, and Grails and Vaadin have particularly vibrant communities.
HTML5, CSS3, JavaScript, jQuery, Angular JS, Bootstrap, Mobile, CoffeeScript, GitHub, functional programming, Page Speed, Apache, JSON with Jackson, caching, REST, Security, load testing, profiling, Wro4j, Heroku, Cloudbees, AWS. These are just some of the buzzwords that a Java web developer hears on a daily basis. This talk is designed to expose you to a plethora of technologies that you might've heard about, but haven't learned yet. We'll concentrate on the most important web developer skills, as well as UI tips and tricks to make you a better front-end engineer. Some of the most valuable engineers these days have front-end JS/CSS skills, as well as backend Java skills. This presentation is from the University session I delivered at Devoxx 2013, in Antwerp. http://devoxx.be/dv13-matt-raible.html?presId=3648
A comparison on JVM Web Frameworks. Includes strategies for choosing and results from research by InfoQ and devrates.com. Also, lots of pretty graphs. See blog post about this presentation at http://raibledesigns.com/rd/entry/devoxx_france_a_great_conference and video recording at http://raibledesigns.com/rd/entry/video_of_comparing_jvm_web
My presentation as delivered at the Denver Java User Group on April 8, 2015. Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project for you and allow you to use Java 7 or 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Grunt or Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry, Heroku and Openshift.
HTML5, CSS3, JavaScript, jQuery, Angular JS, Bootstrap, Mobile, CoffeeScript, GitHub, functional programming, Page Speed, Apache, JSON with Jackson, caching, REST, Security, load testing, profiling, Wro4j, Heroku, Cloudbees, AWS. These are just some of the buzzwords that a Java web developer hears on a daily basis. This talk is designed to expose you to a plethora of technologies that you might've heard about, but haven't learned yet. We'll concentrate on the most important web developer skills, as well as UI tips and tricks to make you a better front-end engineer. Some of the most valuable engineers these days have front-end JS/CSS skills, as well as backend Java skills.
During this presentation, you'll learn how to implement authentication in your Java web applications using good ol' Java EE 6 Security, Spring Security and Apache Shiro. You'll also learn how to secure your REST API with OAuth and lock it down with SSL. After learning how to integrate security, I'll show how to use Zed Attack Proxy to pentest your app and fix vulnerabilities.
HTML5, CSS3, JavaScript, jQuery, Angular JS, Bootstrap, Mobile, CoffeeScript, GitHub, functional programming, Page Speed, Apache, JSON with Jackson, caching, REST, Security, load testing, profiling, Wro4j, Heroku, Cloudbees, AWS. These are just some of the buzzwords that a Java web developer hears on a daily basis. This talk is designed to expose you to a plethora of technologies that you might've heard about, but haven't learned yet. We'll concentrate on the most important web developer skills, as well as UI tips and tricks to make you a better front-end engineer. Some of the most valuable engineers these days have front-end JS/CSS skills, as well as backend Java skills.
JavaScript MVC Frameworks are all the rage these days. They’ve taken the web development world by storm. This session explores the various features of the three hottest JavaScript MVC frameworks: AngularJS, Ember.js and React.js. It also compares client-side templating vs. server-side templating and how well each framework supports Isomorphic JavaScript (code that can run both client-side and server-side). Finally, it ranks each framework on 10 different criteria using Yevgeniy Brikman’s framework scorecard. Video on InfoQ: https://www.infoq.com/presentations/comparing-angular-ember-react
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project that uses Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
Many Spring projects exist that leverage XML for their configuration and bean definitions. Most Java web applications use a web.xml to configure their servlets, filters and listeners. This session shows you how you can eliminate XML by configuring your Spring beans with JavaConfig and annotations. It also shows how you can remove your web.xml and configure your web components with Java.
Visit http://wiki.directi.com/x/LwAj for the video. This is a presentation I delivered at the Great Indian Developer Summit 2008. It covers a wide-array of topics and a plethora of lessons we have learnt (some the hard way) over the last 9 years in building web apps that are used by millions of users serving billions of page views every month. Topics and Techniques include Vertical scaling, Horizontal Scaling, Vertical Partitioning, Horizontal Partitioning, Loose Coupling, Caching, Clustering, Reverse Proxying and more.
6억4천만 사용자를 위한 페이스북의 아키텍처에 대해서 조사한 자료입니다. This is a document from Internet about the architecture of facebook
Presentation originally given at the Devoxx4Kids Meetup in Denver, CO by Tack Mobile with Assembly Workspace.
The document discusses how the speaker's team at Playtika tests their code at different levels, from unit to integration tests. Small unit tests are run quickly on continuous integration and aim to achieve high code quality. Medium tests are also run on CI and test services in slightly more depth. Large integration tests were improved to run faster without Docker and test end-to-end scenarios. The team aims to continue improving testing by running more tests automatically and gathering better test results.
Presentation from Angular Summit Keynote in September 2015. http://angularsummit.com/conference/boston/2015/09/session?id=34212 AngularJS is one of today's hottest JavaScript MVC Frameworks. In this session, we'll explore many concepts it brings to the world of client-side development: dependency injection, directives, filters, routing and two-way data binding. We'll also look at its recommended testing tools and build systems.
Angular is one of today's hottest JavaScript MVC Frameworks. In this session, we explore its next version: Angular 2. You'll see how to build and test Angular 2 components with TypeScript, as well as how to develop forms with validation. Finally, you'll learn about related Angular 2 projects and be on your way to becoming an Angular 2 Artist!
This document discusses the JHipster project, which is a development tool that uses Spring Boot and AngularJS to generate and scaffold Java web applications. It highlights features of JHipster like authentication, metrics dashboards, and support for SQL and NoSQL databases. The document also demos generating a sample blog application using JHipster and shows how much code is generated for entities and the user interface. It promotes staying up to date with trends in Java and web development.
Apache Camel is an integration framework that allows you to define routing and mediation rules in a number of domain-specific languages. This presentation shows how I used Apache Camel to replace IBM Message Broker on a project. It includes information on how routes were developed using Camel’s Java API and how Camel can be integrated with Spring Boot. It also covers unit, integration and load testing (using Gatling) of these services. Finally, it touches on monitoring with hawtio and New Relic.
The document promotes the JHipster development tool for generating Spring Boot and AngularJS projects and provides an overview of its features such as entity generation, authentication, deployment options, and testing tools. It also demonstrates generating a blog application using JHipster and discusses how JHipster can help developers stay on top of the latest trends in Java and web development.
Comparing JVM Web Frameworks Presentation from TheServerSide Java Symposium 2011. Compares many different JVM-based web frameworks, ranks them based on 20 different criteria and compares the Pros, Cons and other stats of the top 5.
Comparing JVM Web Frameworks Presentation from The Rich Web Experience 2010. Compares many different JVM-based web frameworks, ranks them based on 20 different criteria and compares the Pros, Cons and other stats of the top 5.
Comparing JVM Web Frameworks Presentation from 33rd Degree Conference in Krakow, Poland. Compares many different JVM-based web frameworks, ranks them based on 20 different criteria and compares the Pros, Cons and other stats of the top 5.
The document compares the Ruby on Rails and Groovy on Rails frameworks. Ruby on Rails is built on the Ruby programming language and uses an active record approach, while Groovy on Rails is built on Groovy and Java and uses a domain-oriented approach. The document discusses factors to consider when choosing between the frameworks like skills, community support, and deployment options. It notes that Ruby on Rails is more established while Groovy on Rails may be easier for Java developers.
In this presentation, I give a quick introduction to Qwik, an upcoming full stack JavaScript framework. The original talk was held at Web dev & sausages meetup at Tampere 23.03.23.
This document provides a guide to web development technologies and options for 2018. It recommends first learning HTML and CSS before moving to JavaScript, then choosing a front-end framework like React or Angular. It also suggests learning a back-end language like Node.js or Python along with a database like MongoDB or MySQL. Finally, it recommends focusing on full stack development and gaining experience with technologies commonly used by employers.
We are about to start a new year and I have put together a guide for current and aspiring web developers to follow to get an idea of what it takes to be a full stack developer. From basic tools to html/css, JavaScript, UI frameworks like Bootstrap, server side technologies like Node.js, Python and PHP, frameworks like Laravel, Django and Ruby on Rails. I tried to include the most used technologies and give you the options to choose from with some of my own opinion and input.
The document discusses Ruby on Rails, an open-source web application framework. It is optimized for programmer happiness and productivity by favoring convention over configuration, allowing developers to write code more quickly. Ruby on Rails uses a model-view-controller (MVC) architecture and is widely adopted by companies like Twitter.
This All Things Open 2022 talk shows how to use current-gen WebAssembly to build complex applications out of components.
One of the most difficult things to do (in Java web development) today is to pick which web framework to use when developing an application. A few years ago, there were over 50 Java web frameworks available, most of them open source. Since then, the number hasn't gone down, but the quality of choices has certainly improved. Should you use the standard JSF, or something like Tapestry or Wicket? What about Struts' successor – is Struts 2 better than Spring MVC or Stripes? And what about the slick-looking applications that Flex and OpenLaszlo can create? Should you use Rails on GlassFish or Grails with Groovy? Is ZK really the next best thing? Where does RIFE fit into all of this? The choice hasn't gotten easier over the years. This session is a discussion about choosing the best tool for the job. Not only will various frameworks and their features be discussed, but so will important factors for choosing a web framework. Is ease of development more important, or future maintenance? Is the project community an important factor? All of these questions will be discussed and answers will be provided. If you are about to choose a web framework, or if you have an opinion about a web framework, this session is for you.
Build a WordPress website in React within 30 mins. Which you can benefit from features like Server Side Rendering, 100% Lighthouse score, or code splitting.
Comparison of Ruby on Rails Vs JavaScript for web development. Analyzing their strengths, weaknesses, and use cases to determine the best option for a future project. Source- https://viitorcloud.com/blog/ruby-on-rails-vs-javascript
My talk from the Epicenter 2010 conference about the differences between ASP.NET MVC and Ruby on Rails.
This was presented in a workshop series in 2010 at Birla Institute of Technology, Mesra (Ranchi). It was a 2 hour Ruby on Rails introduction and demo
The document outlines an agenda for a session comparing several web frameworks: Struts, Spring MVC, WebWork, Tapestry, and JSF. The agenda includes introductions of attendees' experiences, overviews of how each framework works, a comparison of what each framework does well, and an open discussion period over lunch. The session aims to help attendees learn about the different frameworks and what they can do.
An update from Pacific Northwest Drupal Summit + DrupalCamp Florida on what's coming in Drupal 8.5 and Drupal 9.
fooConf Helsinki 2023 version of the slides. Expect to learn a lot about the direction of the frontend.
Video available from Parleys.com: https://www.parleys.com/talk/java-versus-javascript-head-head Programmers are often advised to use “the right tool for the right job.” So how does Java compare to JavaScript? This session compares and contrasts Java and JavaScript in different areas and determines just which is the king of the languages that start with Java.
It will be a presentation about relatively new programming language from “google go” (http://golang.org/). We will also talk about web framework and Revel (http://revel.github.io/), and additionally I’ll tell you why do you need to choose “go” and not “node.js”.
Since its public unveiling in 2004, Ruby on Rails has taken the web development world by storm. Rails is an open-source framework, built using the Ruby programming language, that promotes high productivity and reduced development times for real-world web sites. This talk will provide a high-level tour of the features of Ruby on Rails. It will also show how this technology is being leveraged to create on-line businesses and web sites. You don't have to be a programmer to learn more about how Ruby on Rails can power your on-line business.
What if keeping your user stores in sync across domains was as simple as running "java -jar"? With Apache SCIMPle, it is! Apache SCIMple is a SCIM 2.0-compliant server powered by Spring Boot 3. You can run it standalone or embedded in your existing app. It exposes user management REST endpoints and handles the hassle of user synchronization for you. If your identity provider supports SCIM, use the simple way! GitHub example: https://github.com/mraible/okta-scim-spring-boot-example Demo script: https://github.com/mraible/okta-scim-spring-boot-example/blob/main/demo.adoc
You've figured out how to split up your backend services into microservices and scale your teams to the moon, right? But what about the frontend? Are you still building monoliths for your UI? If so, you might want to check out micro frontends—basically extensions to the microservices pattern, where the concept is extended to the frontend. Find out how to package and deploy your microservices and their UIs in the same artifact, as well as make it possible to test and develop them independently. In this live session, Matt will show you how to build a microservices and micro frontends architecture using Angular, Spring Boot, and Spring Cloud. Related blog post: https://auth0.com/blog/micro-frontends-for-java-microservices GitHub repo: https://github.com/oktadev/auth0-micro-frontends-jhipster-example
The document discusses micro frontends for Java microservices. It provides an overview of microservices and frameworks like Spring and JHipster that can be used to develop microservices in Java. It then introduces the concept of micro frontends as an architecture for microservice applications and demonstrates how to build a sample application with micro frontends using JHipster. It also covers securing microservices with OAuth 2.1 and shows a live demo of creating and running microservice applications with JHipster.
You've figured out how to split up your backend services into microservices and scale your teams to the moon, right? But what about the frontend? Are you still building monoliths for your UI? If so, you might want to check out micro frontends—basically extensions to the microservices pattern, where the concept is extended to the frontend. Find out how to package and deploy your microservices and their UIs in the same artifact, as well as make it possible to test and develop them independently. In this live session, Matt will show you how to build a microservices and micro frontends architecture using Angular, Spring Boot, and Spring Cloud. Related blog post: https://auth0.com/blog/micro-frontends-for-java-microservices GitHub repo: https://github.com/oktadev/auth0-micro-frontends-jhipster-example
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!! What about Helidon? There are a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, Spring Boot, and Helidon. In this session, you'll learn how to do the following with each framework: ✅ Build a REST API ✅ Secure your API with OAuth 2.0 ✅ Optimize for production with Docker and GraalVM I'll also share some performance numbers and pretty graphs to compare community metrics. Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison Helidon companion post: https://developer.okta.com/blog/2022/01/06/native-java-helidon GitHub repo: https://github.com/oktadev/native-java-examples
Microservice architectures are all the rage in JavaLand. They allow teams to develop services independently and deploy autonomously. Why microservices? IF you are developing a large/complex application AND you need to deliver it rapidly, frequently, and reliably over a long period of time THEN the Microservice Architecture is often a good choice. Reactive architectures are becoming increasingly popular for organizations that need to do more, with less hardware. Reactive programming allows you to build systems that are resilient to high load. In this session, I'll show you how to use JHipster to create a reactive microservices architecture with Spring Boot, Spring Cloud, Keycloak, and run it all in Docker. You will leave with the know-how to create your own resilient apps! Related blog post: https://developer.okta.com/blog/2021/01/20/reactive-java-microservices YouTube demo: https://youtu.be/clkEUHWT9-M GitHub repo: https://github.com/oktadev/java-microservices-examples/tree/main/reactive-jhipster
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!! What about Helidon? There are a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, Spring Boot, and Helidon. In this session, you'll learn how to do the following with each framework: ✅ Build a REST API ✅ Secure your API with OAuth 2.0 ✅ Optimize for production with Docker and GraalVM I'll also share some performance numbers and pretty graphs to compare community metrics. Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison Helidon companion post: https://developer.okta.com/blog/2022/01/06/native-java-helidon GitHub repo: https://github.com/oktadev/native-java-examples
In this session, you'll learn about recommended patterns for securing your backend APIs, the infrastructure they run on, and your SPAs and mobile apps. The world is no longer a place where you just need to secure your apps’ UI. You need to pay attention to your dependency pipeline and open-source frameworks, too. Once you have the app built, with secure-by-design code, what about the cloud it runs on? Are the servers secure? What about the accounts you use to access them? If you lock all that sh*t down, how do you codify your solution so you can transport it cloud-to-cloud, or back to on-premises? This session will explore these concepts and many more!
Do you want to deploy your Spring Boot apps in a serverless environment and have them start up in milliseconds? Of course, you do! In this talk, Josh Long and Matt Raible will introduce you to Spring Native. They'll teach you all about how it can compile Spring Boot apps into native binaries that start faster than a speeding bullet! You'll learn about native testing support with JUnit 5 and the pros and cons of native vs JVM deployments. This talk will also highlight a customer, the JHipster project. JHipster generates Spring Boot-based monoliths and microservices. You'll learn about the project's experience with Spring Boot, Spring Cloud, Spring WebFlux, and Spring Native. It ain't easy being a Java Hipster, but the Spring ecosystem does simplify the process quite a bit. Recording on YouTube: https://youtu.be/k6nBB8FOmQ8 Examples on GitHub: https://github.com/mraible/spring-native-examples Writeup on LinkedIn: https://www.linkedin.com/pulse/jhipster-works-spring-native-part-2-matt-raible/
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!! There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework: ✅ Build a REST API ✅ Secure your API with OAuth 2.0 ✅ Optimize for production with Docker and GraalVM I'll also share some performance numbers and pretty graphs to compare community metrics. Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison
Web app security is not just authentication and authorization. It's also the things you do to protect your web app from attackers with their XSS (cross-site scripting), SQL injection, DoS/DDoS attacks, and CSRF (cross-site request forgery), to name a few. Web app security is a central component of any web-based business. The internet exposes web apps to attacks from different locations and various levels of scale and complexity. Web application security deals specifically with the security surrounding websites, web applications, and web services such as APIs. In this presentation, you'll learn seven ways to better web app security, using Spring Security for code samples. You'll also see some quick demos of Spring Boot, Angular, and JHipster with Keycloak, Auth0, and Okta.
Mobile development offers a lot of options. To develop native apps, you can use Java or Kotlin on Android. On iOS, you can use Objective C or Swift. There are other options, too. You can build hybrid mobile apps and Progressive Web Apps (PWAs). Hybrid mobile apps are those created with web technologies (HTML, JavaScript, and CSS) that look like native apps. PWAs have the ability to work offline and act like mobile apps. In this talk, we'll explore a few different mobile technologies: PWAs, React Native, and Ionic (with Angular). You'll walk away with knowledge of how to build mobile + Spring Boot apps in minutes with JHipster. * GitHub repo: https://github.com/mraible/mobile-jhipster * Demo script: https://github.com/mraible/mobile-jhipster/blob/main/demo.adoc