[JAVA] Introduction à Ratpack (1) - Qu'est-ce que Ratpack?

Série d'introduction Ratpack

  1. Introduction à Ratpack (1) - Qu'est-ce que Ratpack
  2. Introduction à Ratpack (2) --Architecture
  3. Introduction à Ratpack (3) - Explication détaillée de Hello world
  4. Introduction à Ratpack (4) --Routage et contenu statique
  5. Introduction à Ratpack (5) --Json & Registry
  6. Introduction à Ratpack (6) - Promise
  7. Introduction à Ratpack (7) --Guice & Spring
  8. Introduction à Ratpack (8) - Session
  9. Introduction à Ratpack (9) --Thymeleaf

Qu'est-ce que Ratpack

Ratpack est une bibliothèque d'applications Web pour Java / Groovy publiée dans Apache License v2.

Officiel GitHub Javadoc

Fonctionnalité

Événementiel

Étant donné que Ratpack utilise Netty pour la communication, il fonctionne de manière événementielle comme node.js. Par conséquent, il est possible de réaliser une communication HTTP évolutive et performante.

asynchrone

Le fait que la communication ne soit pas bloquante nécessite la prise en charge de la programmation asynchrone, ce à quoi Java n'est pas bon. Ratpack prend en charge cela avec la classe Promise et a également des extensions pour RxJava.

Sans opinion

L'un des objectifs de développement de Ratpack est d'être «flexible et sans opinion lors de l'intégration avec d'autres outils et bibliothèques».

Évolutivité

Il existe des modules d'extension tels que «ratpack-groovy», «ratpack-guice», «ratpack-jackson», «ratpack-rxjava», «ratpack-session».

Ce que Ratpack ne vise pas

Selon la page officielle, les éléments suivants sont répertoriés comme ** non ** dans les objectifs de Ratpack:

Hello World

build.gradle


dependencies {
    compile 'io.ratpack:ratpack-core:1.5.1'
}

Sample.java


public final class Sample {

    public static void main( String[] args ) throws Exception {
        RatpackServer.start( server -> server
                .handlers( chain -> chain.get( ctx -> ctx.render( "hello, world" ) ) ) );
    }

}

キャプチャ.PNG

Comme vous pouvez le voir, il est fait sur le principe que la formule lambda est beaucoup utilisée, donc si vous n'êtes pas familier avec la formule lambda, veuillez l'apprendre.

Pourquoi avez-vous décidé d'écrire cet article

J'en avais marre du printemps et cherchais une bibliothèque alternative et suis tombé sur Ratpack. Cependant, il n'y avait pas beaucoup d'informations en japonais, et même si c'était le cas, c'était Groovy au lieu de Java, et la documentation officielle était parfois difficile à comprendre. Par conséquent, j'ai décidé d'écrire cette série d'articles, dans l'espoir de soutenir ceux qui utiliseront désormais Ratpack.

Dans le prochain article, je vais voir comment utiliser Ratpack en détail.

Recommended Posts

Introduction à Ratpack (1) - Qu'est-ce que Ratpack?
Introduction à Ratpack (8) - Session
Introduction à Ratpack (6) - Promesse
Introduction aux fonctions récursives: qu'est-ce qu'une fonction récursive?
Introduction à Ratpack (7) --Guice & Spring
Introduction à Ruby 2
Qu'est-ce qui est nul? ]
Qu'est-ce que 'java
Qu'est-ce que Keycloak
Qu'est-ce que Jackson?
Qu'est-ce que soi
Qu'est-ce que Jenkins
Qu'est-ce que ArgumentMatcher?
Qu'est-ce que IM-Juggling?
Qu'est-ce que les paramètres
Qu'est-ce que SLF4J?
Introduction à web3j
Qu'est-ce que la façade? ??
Qu'est-ce que Java <>?
Qu'est-ce que Gradle?
Introduction à Micronaut 1 ~ Introduction ~
[Java] Introduction à Java
Qu'est-ce que centOS
Introduction à Ratpack (3) - Explication détaillée de Hello World
Qu'est-ce que RubyGem?
Qu'est-ce que Docker? J'ai essayé de résumer
Qu'est-ce que before_action?
Qu'est-ce que Docker
Introduction à Java
Qu'est-ce que Byte?
Introduction à Doma
Qu'est-ce que Tomcat
Introduction à Ratpack (Extra Edition) --Ratpack écrit en Kotlin
Introduction aux fichiers JAR
Qu'est-ce que `docker-compose up`?
Qu'est-ce qu'un constructeur
Introduction à l'arithmétique des bits
Qu'est-ce que le codage en dur?
Qu'est-ce qu'un flux
Introduction à PlayFramework 2.7 ① Présentation
Qu'est-ce que l'encapsulation Java?
Qu'est-ce qu'une permission refusée?
Qu'est-ce que le contrôle d'instance?
Introduction à la mise en page Android
Qu'est-ce que Spring Tools 4
Qu'est-ce qu'un opérateur?
Qu'est-ce que l'orientation objet?
Qu'est-ce que le @VisibleForTesting de Guava?
Introduction à la programmation pratique
Introduction à la commande javadoc
Qu'est-ce qu'un modèle MVC?
Introduction à la commande jar
Qu'est-ce qu'une annotation?
Qu'est-ce que la technologie Java?
Introduction au style lambda
Qu'est-ce que @ (variable d'instance)?