Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это

Π’ΠΎΠΏ-10 Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Java

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ прилоТСния быстро, просто ΠΈ эффСктивно, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, избавляя ΠΎΡ‚ нСобходимости ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ с нуля. Π˜Ρ… Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· всСго многообразия зависит ΠΎΡ‚ потрСбностСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. РСсурс Technotification ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ· 10 Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² для Java-программистов ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ прилоТСния быстро, просто ΠΈ эффСктивно, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, избавляя ΠΎΡ‚ нСобходимости ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ с нуля. Π˜Ρ… Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· всСго многообразия зависит ΠΎΡ‚ потрСбностСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. РСсурс Technotification ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ· 10 Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² для Java-программистов ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

1. Spring Framework

Spring β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных Java-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ². Π•Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° этом языкС, Π² Ρ‚ΠΎΠΌ числС благодаря возмоТности внСдрСния зависимостСй.

Spring идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для создания ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ Java. Он позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ΅ прилоТСния. Π‘Π»ΠΈΠ·ΠΊΠΎ связан с Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ Spring Boot.

2. PrimeFaces

PrimeFaces относится ΠΊ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π»Ρ‘Π³ΠΊΠΈΠΌ Java-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ.jar-Ρ„Π°ΠΉΠ»Π΅. PriemFaces сущСствуСт ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚ ΠΈ слуТит UI-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ для спСцификаций JavaServer Faces ΠΈ Java EE. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ насчитываСт Π±ΠΎΠ»Π΅Π΅ 100 ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², срСди ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… β€” валидация Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ инструмСнтарий для сСнсорных смартфонов.

3. Blade

Blade β€” это лСгковСсный MVC-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π½Π° Π±Π°Π·Π΅ Java 8. Он прост ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ интСрфСйс ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° Π² стилС RESTful. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ относится ΠΊ Ρ‚Π΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠΌ Java-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ навязчивыС ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠΈ. Под Β«Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΠΎΡΡ‚ΡŒΡŽΒ» имССтся Π² Π²ΠΈΠ΄Ρƒ нСбольшой ΠΏΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ исходный ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 500 Кб.

Для использования Blade понадобится ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Maven-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Java 9, Π° Ρ‚Π°ΠΊΠΆΠ΅ большоС число Π²Π΅Π±-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Java.

Онлайн-курсы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΡ‚Ρ‹ΠΌ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ

4. Dropwizard

Dropwizard β€” ΠΌΠΎΡ‰Π½Ρ‹ΠΉ Java-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, высоко ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ RESTful-сСрвисов. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½ для написания микросСрвисов Π½Π° этом языкС ΠΈ Π΄Π°Ρ‘Ρ‚ Π»Ρ‘Π³ΠΊΠΈΠΉ доступ ΠΊΠΎ всСм ΠΌΠΎΡ‰Π½Ρ‹ΠΌ Java-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Google Guava, Jetty server, Hibernate Validator, Logback, Joda Time, Π° Ρ‚Π°ΠΊΠΆΠ΅ Jackson для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ JSON-Ρ„Π°ΠΉΠ»ΠΎΠ². JSON избавляСт ΠΎΡ‚ нСобходимости ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ для ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ, позволяя Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ силы Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» прилоТСния.

Dropwizard ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ максимальной продуктивности ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠŸΡ€ΠΈΡΡ‚Π½Ρ‹ΠΉ бонус β€” понятная для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² докумСнтация.

5. Google Web Toolkit (GWT)

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Google Web Toolkit Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Google с Ρ†Π΅Π»ΡŒΡŽ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π² написании Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Java. Он Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Java-ΠΊΠΎΠ΄ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² JavaScript для запуска Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ….

GWT ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов Google. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ комплСксныС Π²Π΅Π±-прилоТСния, Π½Π΅ имСя практичСского ΠΎΠΏΡ‹Ρ‚Π° с языками Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ JavaScript.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ряд ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ абстракция UI, кросс‐браузСрная ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ интСрнационализация.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это

6. JavaServer Faces (JSF)

MVC-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ JavaServer Faces появился 14 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄. Он ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Бамая Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ этого Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ построСнныС Π² Π½Ρ‘ΠΌ UI-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Π±-страниц. Π’ качСствС шаблонов Π² JSF ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Facelets.

7. JHipster

JHipster β€” ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, Π²Ρ‹ΡˆΠ΅Π΄ΡˆΠΈΠΉ Π² 2013 Π³ΠΎΠ΄Ρƒ. Он сочСтаСт Spring Boot, Angular ΠΈ React Π² ΠΎΠ΄Π½ΠΎΠΌ большом Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ запросто ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ соврСмСнноС Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Java.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ Spring Boot позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния Π½Π° Π±Π°Π·Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Spring. Помимо Angular ΠΈ React, JHipster Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Bootstrap. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, JHipster прСдоставляСт Π΄Π²Π° Π²ΠΈΠ΄Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€: ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½ΡƒΡŽ. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ ΠΈ бэкСнд Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ β€” Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎ.

8. Spark Framework

Spark β€” ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ для программистов, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π²Π΅Π±-прилоТСния Π½Π° Java. Π’ Π½Ρ‘ΠΌ ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΈ Π±Π΅Π· усилий ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ бэкСнд сайтов. Spark ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ практичСски всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Java 8 ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ API.

9. MyBatis

MyBatis Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для осущСствлСния ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Java-прилоТСниями ΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… SQL. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ прилоТСния ΠΊ рСляционной Π‘Π” Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ API Java Database Connectivity. Он позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ SQL-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° нСсколько строчСк ΠΊΠΎΠ΄Π°.

MyBatis ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ с Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ Hibernate, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ посрСдниками ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. ЕдинствСнноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ MyBatis Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Java Π² Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ Π‘Π”.

10. Play Framework

Play β€” Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Π»Ρ‘Π³ΠΊΠΈΠΉ Java-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, завоСвавший располоТСниС Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Он прСдоставляСт интСрфСйс, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ измСнСния Π² ΠΊΠΎΠ΄Π΅ Π±Π΅Π· нСобходимости Π·Π°Π½ΠΎΠ²ΠΎ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ асинхронныС API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ прилоТСния, ΠΎΠ±Ρ…ΠΎΠ΄ΡΡΡŒ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов. Play прСкрасно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ микросСрвисныС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Java Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ

Для ускорСния процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ java-прилоТСния ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (java library) ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ (java framework). Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Java Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° прСдставляСт собой Ρ„Π°ΠΉΠ» jar, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для опрСдСлСния бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ построСния интСрфСйсной части. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² CLASSPATH ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ (framework) Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ с английского ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ каркас (структура). Java framework β€” это программная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ построСния прилоТСния ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ объСдинСниС Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² большого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ИспользованиС java Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ web-прилоТСния являСтся каркасным ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π³Π΄Π΅ любая конфигурация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ состоит ΠΈΠ· Π΄Π²ΡƒΡ… частСй: постоянная Ρ‡Π°ΡΡ‚ΡŒ (каркас прилоТСния), Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΈ пСрСмСнная Ρ‡Π°ΡΡ‚ΡŒ β€” смСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ интСрфСйс прилоТСния.

Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ

ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ java Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π΅ влияя Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈ Π½Π΅ накладывая Π½Π° Π½Π΅Ρ‘ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ java framework опрСдСляСт ΠΏΡ€Π°Π²ΠΈΠ»Π° построСния Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ прилоТСния, задавая Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’Π°ΠΊΠΆΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с большим числом Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Π”Ρ€ΡƒΠ³ΠΎΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² инвСрсии управлСния. Π’Π°ΠΊ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса послС Π²Ρ‹Π·ΠΎΠ²Π°. Π’ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, встраиваСмоС Π² Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠΉ, абстрактный ΠΊΠΎΠ΄ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. ΠŸΡ€ΠΈ этом Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ класса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Java Server Faces (JSF), описаниС

Web framework JSF (Java Server Faces) написан Π½Π° Java ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ для web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Он сущСствСнно ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов для Java EE ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π”Π°Π½Π½Ρ‹ΠΉ web framework основываСтся Π½Π° использовании ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ… MVC-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ запросами. ΠŸΡ€ΠΈ использовании классов JavaBean состояниСм Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ : ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ страницу, ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²ΠΈΡ‚ΡŒ, ΠΏΡ€ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ Π½Π°Π·Π°Π΄.

Π¨ΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС для формирования интСрфСйса Π² JSF ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ JSP ΠΈ Facelets.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Java Server Faces Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚:

Π’ послСднСм Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π΅Π»ΠΈΠ·Π΅ JSF 2.2 ΠΎΡ‚ 21.05.2013 Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² HTML 5 ΠΈ объСдинСниС с Java EE 7. Π’ JSF 2.0 Π² качСствС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° прСдставлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ тСхнология Facelets которая ΠΏΡ€ΠΈΡˆΠ»Π° Π½Π° Π·Π°ΠΌΠ΅Π½Ρƒ JSP.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС web framework’Π° JSF прСдставлСно Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ WEB Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Stuts2, описаниС

Web framework Struts2 поставляСтся с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для создания WEB-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java2EE. Основой Struts являСтся Java Servlet API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚. Π’ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠΌ ΠΏΠ»Π°Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚, ΠΈΠ»ΠΈ, Ρ‚ΠΎΡ‡Π½Π΅Π΅, Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ MVC. Struts2 имССтся Ρ‡Ρ‘Ρ‚ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ, прСдставлСния HTML-страницы ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.

Framework Struts2 Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ стандартный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ β€” сСрвлСт ActionServlet ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ срСдства для управлСния страницами прСдставлСния (дСйствия, ΠΈΠ½Ρ‚Π΅Ρ€Ρ†Π΅ΠΏΡ‚ΠΎΡ€Ρ‹). Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ прилоТСния ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° написаниС ΠΊΠΎΠ΄Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° struts-config.xml, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ связываСт Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ модСль, прСдставлСниС ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€.

Запросы ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π½Π° сСрвСр (ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€) Π² Π²ΠΈΠ΄Π΅ Β«actionΒ» (дСйствия), ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. Когда ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ запрос, ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ Π΅Π³ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ action-классу. ПослСдний взаимодСйствуСт с ΠΊΠΎΠ΄ΠΎΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ, согласно ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, опрСдСляСт страницу для отправлСния ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ пСрСдаётся ΠΌΠ΅ΠΆΠ΄Ρƒ модСлью ΠΈ прСдставлСниСм Π² Π²ΠΈΠ΄Π΅ особых JavaBeans. Богатая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚Π΅Π³ΠΎΠ² позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π±ΠΈΠ½ΠΎΠ² ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π±Π΅Π· Java-ΠΊΠΎΠ΄Π°.

Web framework Struts2 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ i18n, ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΈΠ· Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ прСдоставляСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ использования шаблонов Β«tilesΒ».

Struts2 Π½Π΅ являСтся Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии Struts, это Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ построСнный Π½Π° основС Webwork с использованиСм Model-View-Controller (MVC).

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС web framework’Π° Struts2 прСдставлСно Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ WEB Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Google Web Toolkit, описаниС

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ framework GWT, ΠΌΠΎΠΆΠ½ΠΎ быстро Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ AJAX прилоТСния Π½Π° языкС Java с использованиСм инструмСнтария ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Java.

GWT Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ XML парсСр, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с JUnit, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ интСрфСйс для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, содСрТит нСбольшой ΠΏΠ°ΠΊΠ΅Ρ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ элСмСнтов графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (GUI). Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ Π½Π°Π±ΠΎΡ€ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° GXT (Ext-GWT), SmartGWT ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ сущСствСнно ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ интСрфСйсной части WEB-прилоТСния.

IDE Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ WEB-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с GWT. ΠžΡ‚Π»Π°Π΄ΠΊΠ° GWT-прилоТСния Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° Π΄Π²Π΅ части. ΠžΡ‚Π»Π°Π΄ΠΊΠ° сСрвСрной части прилоТСния осущСствляСтся ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Java WEB прилоТСния. Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΆΠ΅ клиСнтской части понадобится gwt dev-plugin для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° GWT с ΠΈΠ½cталляциСй ΠΏΠ»Π°Π³ΠΈΠ½Π° GWT SDK Π² IDE Eclipse прСдставлСно Π½Π° страницС Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ GWT.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Spring, описаниС

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Spring Π½Π΅ обСспСчиваСт ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ модСль программирования, ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространёниС Π² Java-сообщСствС Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° ΠΈ Π·Π°ΠΌΠ΅Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Enterprise JavaBeans.

Spring Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0 license Π² июнС 2003 Π³ΠΎΠ΄Π°. Π Π΅Π»ΠΈΠ· Spring 3.1 Π²Ρ‹ΡˆΠ΅Π» Π² Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ 2011. ВСкущая вСрсия β€” 4.2.

Spring обСспСчиваСт Π±ΠΎΜΠ»ΡŒΡˆΡƒΡŽ свободу Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ; ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ прСдоставляСт Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈ Π»Ρ‘Π³ΠΊΠΈΠ΅ Π² использовании срСдства Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ядра Spring ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² любом Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. БущСствуСт мноТСство Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠΉ для построСния WEB ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Java Enterprise Edition. По этим ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Spring ΠΏΡ€ΠΈΠΎΠ±Ρ€Ρ‘Π» Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΈ признаётся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΊΠ°ΠΊ стратСгичСски Π²Π°ΠΆΠ½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ.

НаиболСС извСстСн Spring ΠΊΠ°ΠΊ источник Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (свойств), Π½ΡƒΠΆΠ½Ρ‹Ρ… для эффСктивной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ слоТных бизнСс-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Π½Π΅ тяТСловСсных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ модСль ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Ρ‘ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΠΉ ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ созданы Π½Π° основС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java. БчитаСтся, Ρ‡Ρ‚ΠΎ Spring Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ модСль Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° Π»ΡƒΡ‡ΡˆΠΈΡ… стандартах индустрии, ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Ρ‘ доступной Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… областях Java.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ с описаниСм Spring ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ Π½Π° страницС Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Hibernate, описаниС

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Hibernate ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционного отобраТСния (object-relational mapping β€” ORM) ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Java. Она относится ΠΊ свободно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ (open source), распространяСмоС Π½Π° условиях GNU Lesser General Public License.

Hibernate прСдоставляСт Π»Π΅Π³ΠΊΠΈΠΉ Π² использовании каркас для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ модСлью Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… рСляционных Π‘Π£Π‘Π”. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π² процСссС проСктирования систСмы классов ΠΈ Ρ‚Π°Π±Π»ΠΈΡ† «с нуля», Ρ‚Π°ΠΊ ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

Hibernate Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ обСспСчиваСт связь ΠΌΠ΅ΠΆΠ΄Ρƒ классами Java ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ соотвСтствиС Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Java с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… SQL, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт срСдства для автоматичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ обновлСния Π½Π°Π±ΠΎΡ€Π° Ρ‚Π°Π±Π»ΠΈΡ†, построСния запросов ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° позволяСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ тратится Π½Π° Ρ€ΡƒΡ‡Π½ΠΎΠ΅ написаниС SQL-запросов с использованиСм JDBC-ΠΊΠΎΠ΄Π°.

Одним ΠΈΠ· основных достоинств Hibernate являСтся автоматичСская гСнСрация SQL-запросов ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (сСриализация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²), максимально облСгчая пСрСнос (ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) прилоТСния Π½Π° Π»ΡŽΠ±Ρ‹Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Hibernate обСспСчиваСт ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ сохранности Π΄Π°Π½Π½Ρ‹Ρ… (persistence) для Β«POJOΒ» (Plain Old Java Object). POJO класс Java содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ поля, Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈ доступ ΠΊΠΎ всСм полям осущСствляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ get/set. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ простого класса POJO ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° страницС описания ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° JavaBean.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Hibernate с ΠΈΠ½cталляциСй ΠΏΠ»Π°Π³ΠΈΠ½Π° Hibernate Tools Π² IDE Eclipse прСдставлСно Π½Π° страницС Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Hibernate.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Swing, описаниС

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Swing ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ° для создания графичСского интСрфСйса desktop’Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π½Π° языкС Java. Swing Π±Ρ‹Π» создан ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Sun Microsystems ΠΈ содСрТит ряд графичСских ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (widget), Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ, поля Π²Π²ΠΎΠ΄Π°, Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Ρ‚.Π΄.

Swing относится ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ классов JFC (Java Foundation Classes), которая прСдставляСт собой Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ графичСских ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ. Π’ состав JFC входят, Π² частности, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Java 2D ΠΈ пСрвая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Java для создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов AWT (Abstract Window Toolkit).

Начиная с вСрсии Java 1.2 (1998 Π³ΠΎΠ΄) Swing Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π² Java Runtime Environment.

Look and Feel

АрхитСктура Swing Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Β«look and feelΒ» (L&F) прилоТСния. Β«LookΒ» опрСдСляСт внСшний Π²ΠΈΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π° Β«FeelΒ» β€” ΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. JRE прСдоставляСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ L&F:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Swing ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ спСцифичСскиС динамичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Π²ΠΈΠ΄Ρ‹ ΠΈ повСдСния (plugable look-and-feel), благодаря ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° адаптация интСрфСйса прилоТСния ΠΊ графичСскому интСрфСйсу ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ ΠΌΠΎΠΆΠ½ΠΎ динамичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, спСцифичСский для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Swing, ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ «Ρ€ΠΎΠ΄Π½Ρ‹Π΅» прилоТСния для Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с AWT

Swing прСдоставляСт Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠ΅ интСрфСйсныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ AWT. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ AWT, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Swing Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ для кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ AWT ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ интСрфСйс исполняСмой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

AWT ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стандартныС элСмСнты ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (ОБ) для отобраТСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта создаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ОБ (ΠΎΠΊΠ½ΠΎ), Π² связи с Ρ‡Π΅ΠΌ, AWT Π½Π΅ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ элСмСнты ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния Π½Π° основС AWT всСгда ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΠΎΠ²Π΅Ρ€Ρ… Swing-элСмСнтов, Ρ‚.ΠΊ. всС Swing ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π° повСрхности ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Lightweight

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Β«LightweightΒ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Swing ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΡ€ΠΈΡΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ самими ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΠΎΠΊΠ½Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° JFrame), Π±Π΅Π· использования ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ «тяТСлых» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² AWT, Swing ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΎΠΊΠ½ΠΎ.

Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Swing ΠΈ AWT. Но это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ β€” Π² частности, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ AWT всСгда ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ Swing элСмСнты, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ собой Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню JPopupMenu ΠΈ JComboBox. Для прСдотвращСния этого, Ρƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ setLightWeightPopupEnabled (boolean), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ использованиС «лСгковСсных» Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… элСмСнтов. ΠŸΡ€ΠΈ установкС Π΄Π°Π½Π½ΠΎΠ³ΠΎ свойства Π² true AWT элСмСнты Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ мСню.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ минусом Ρ‚Π°ΠΊΠΈΡ… «лСгковСсных» (lightweight) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² являСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСдлСнная Ρ€Π°Π±ΠΎΡ‚Π°. ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ сторона β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ интСрфСйса созданных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….

ОписаниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Swing Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ рассматриваСтся Π½Π° страницС Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Swing

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SWT, Standard Widget Toolkit

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ SWT ΠΈ Π΅Π΅ использования Π² java-прилоТСниях рассматриваСтся Π½Π° страницС Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SWT

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ java Ρ‡Ρ‚ΠΎ это

Π―Π·Ρ‹ΠΊ Java Π² настоящСС врСмСня участвуСт Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ 134 861 сайта, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ESPN, SnapDeal, Alibaba ΠΈ Ρ‚.Π΄. Π—Π° всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ сущСствования этот язык Π΄ΠΎΠΊΠ°Π·Π°Π» свою Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО.

Java ΠΎΡ‡Π΅Π½ΡŒ популярСн Π²ΠΎ мноТСствС индустрий, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½Π°ΡƒΠΊΡƒ, ΠΌΠ΅Π΄ΠΈΡ†ΠΈΠ½Ρƒ, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, финансы, ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ сСгмСнты ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ. Π’Ρ‹ΡˆΠ΅ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ продСмонстрировано ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½ΠΎΠ΅ распрСдСлСниС языка Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… областях.

Java являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком программирования, главная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ написанныС Π½Π° Π½Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ΄ любой ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ Π΅Π³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой.

На сСгодняшний дСнь послСднСй вСрсиСй ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° являСтся Java 13, запущСнная Π² сСнтябрС 2019.

Богласно Π΄Π°Π½Π½Ρ‹ΠΌ индСкса Toibe, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ Π½Π° основС Π°Π½Π°Π»ΠΈΠ·Π° Π²Ρ‹Π΄Π°Ρ‡ΠΈ 25 самых популярных поисковых систСм, Java Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚, занимая 1 ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² спискС.

Π—Π΄Π΅ΡΡŒ прСдставлСна Ρ‚Π°Π±Π»ΠΈΡ†Π° популярности Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков программирования ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° Π½ΠΎΡΠ±Ρ€ΡŒ 2019 ΠΈ 2018 Π³ΠΎΠ΄Π°.

Π’ΠΎ, Ρ‡Ρ‚ΠΎ Java ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ 1-Π΅ мСсто, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ вострСбованных языков Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ софта, Ρ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‚ своСврСмСнныС Π°ΠΏΠ΄Π΅ΠΉΡ‚Ρ‹ ΠΈ запуск ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… вСрсий.

Но ΠΎΠ΄Π½ΠΎΠ³ΠΎ лишь Π²Ρ‹Π±ΠΎΡ€Π° этого языка для создания вашСго Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ прилоТСния Π±ΡƒΠ΄Π΅Ρ‚ нСдостаточно. Π’Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ потрСбуСтся ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ.

Π­Ρ‚ΠΎ нСпростая Π·Π°Π΄Π°Ρ‡Π°, которая ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ разностороннСС ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ всСх плюсов ΠΈ минусов с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΎΠΉ сфСры индустрии, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ планируСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΆΠ΅ познакомимся с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ Π½Π° 2020 Π³ΠΎΠ΄.

1: Spring

Π—Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто Π²Π²ΠΈΠ΄Ρƒ Π΅Π³ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ удобства Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ комплСксных web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… высокого качСства. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… прСдприятий.

ЀактичСски ΠΈΠΌΠ΅Π½Π½ΠΎ это удобство ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ самым популярным Π² срСдС Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ качСствС подтвСрТдСния Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° наглядная статистика использования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ².

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ сущСствСнно Ρ‡Π°Ρ‰Π΅ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Spring MVΠ‘ ΠΈ Spring Boot. Π‘Π°ΠΌΡ‹ΠΌ большим прСимущСством этих Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ отсоСдинСния Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ сосрСдоточСниС Π½Π° ΠΎΠ΄Π½ΠΎΠΌ благодаря инвСрсии управлСния (IoC).

К Π΄Ρ€ΡƒΠ³ΠΈΠΌ прСимущСствам этого Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ модСль ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΡƒΡΡ‚ΠΎΡΠ²ΡˆΠΈΡ…ΡΡ ΠΈ Π½ΠΎΠ²Π΅ΠΉΡˆΠΈΡ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ NoSQL, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, поддСрТивая аспСктно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠ°ΠΊ Spring MVC, Spring Core, Spring Boost, SpringTransaction ΠΈ ΠΏΡ€.

2: Hibernate

Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ β€” ORM, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционная ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ запросы ΠΊ сСрвСру Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ Π½Π° SQL, Π° Π½Π° Java, Ρ‡Ρ‚ΠΎ мСняСт ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ взгляд Π½Π° Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΡƒΡŽ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Hibernate Π½Π΅ являСтся ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ, ΠΎΠ½ позволяСт с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

Π­Ρ‚Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, нСзависимо ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° прилоТСния ΠΈ количСства Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π’ Ρ†Π΅Π»ΠΎΠΌ, этот Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ быстрый, ΠΌΠΎΡ‰Π½Ρ‹ΠΉ, Π»Π΅Π³ΠΊΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΈ настраиваСмый.

3: Struts

Struts позволяСт Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ для прСдприятий простой ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Π² использовании софт. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ прСимущСством Π² этом Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π΅Π³ΠΎ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ JAR.

ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ Hibernate ΠΈ Spring Π² этом случаС ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционного отобраТСния ΠΈ внСдрСния зависимостСй, соотвСтствСнно. Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π° счСт ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Java, JSP ΠΈ Action классов.

4: Play

Π•Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠ°ΠΊ LinkedIn, Samsung, The Guardian, Verizon ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Π΅Π³ΠΎ Π±Π΅Π·ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ. К основным ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ характСристикам ΠΌΠΎΠΆΠ½ΠΎ отнСсти Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, качСство ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Play являСтся ΠΎΡ‡Π΅Π½ΡŒ простым ΠΈ осваиваСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ достаточно быстро. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΆΠ΅ ΠΎΠ½ Ρ‡Π°Ρ‰Π΅ всСго Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ‚Π΅Ρ… прилоТСниях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ рСгулярного создания ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.

5: Google web Toolkit

Π­Ρ‚ΠΎΡ‚ бСсплатный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ примСняСтся для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ клиСнтской части ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Javascript. ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΡ Google ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎ примСняла Π΅Π³ΠΎ Π² создании мноТСства своих сСрвисов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ AdSense, Google Wallet, AdWords ΠΈ ΠΏΡ€.

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΈ ΠΎΡ‚Π»Π°ΠΆΠ΅Π½Ρ‹ прилоТСния Ajax. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ этот Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΏΡ€ΠΈ написании комплСксных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π° Π΅Π³ΠΎ основныС Ρ„ΠΈΡˆΠΊΠΈ β€” это кросс-браузСрная ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ, Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ истории, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ Π΄Ρ€.

6: Grails

Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Ρ‚Π°ΠΊΠΆΠ΅ являСтся бСсплатным ΠΈ довольно популярСн Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с Enterprise Java Beans. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для создания Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ…, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, систСм управлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ, RESTful сСрвисов ΠΈ коммСрчСских сайтов.

Grails ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ вмСстС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ тСхнологиями Java β€” Spring, Hibernate, quartz, SiteMesh ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ EE. Π•Π³ΠΎ прСимущСства ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ наличия GORM, Π³ΠΈΠ±ΠΊΠΈΡ… ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ, ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΉ систСмы многочислСнных ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ отобраТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

7: Blade

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ любой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ смоТСт Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² этом Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ дня. Java Blade Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π² 2015 ΠΈ сразу стал извСстСн ΠΊΠ°ΠΊ простой ΠΈ Π»Π΅Π³ΠΊΠΈΠΉ инструмСнт. Π‘Π°ΠΌΡ‹ΠΌ ярким Π΅Π³ΠΎ прСимущСством являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ web-прилоТСния.

Blade относится ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΈ ΡΡΠ½ΡƒΡŽ структуру написания ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ web jar рСсурсов ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ². Основан ΠΎΠ½ Π½Π° Java 8, благодаря Ρ‡Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π΅Ρ‚ интСрфСйс ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² стилС RESTful.

8: JavaServer Faces

Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π±Ρ‹Π» Π²Π½Π΅Π΄Ρ€Π΅Π½ Π² ΠΈΠ½Π΄ΡƒΡΡ‚Ρ€ΠΈΡŽ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Oracle. JSF ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Главная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² возмоТности Π»Π΅Π³ΠΊΠΎ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ прСдставлСния с ΠΊΠΎΠ΄ΠΎΠΌ прилоТСния.

Π•Π³ΠΎ API Π½Π°Π±ΠΎΡ€ примСняСтся для прСдставлСния ΠΈ управлСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ UI. JSF Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, которая различаСтся ΠΌΠ΅ΠΆΠ΄Ρƒ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ прилоТСния ΠΈ Π΅Π³ΠΎ прСдставлСниСм. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ являСтся прСдставлСниС посрСдством XML, Π° Π½Π΅ Java.

9: Vaadin

ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для упорядочСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠΌ прСимущСством этого Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° являСтся ΠΏΠ»Π°Π²Π½ΠΎΠ΅ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ.

Vaadin прСдоставляСт доступ ΠΊ DOM Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java. Π’ послСднСм Ρ€Π΅Π»ΠΈΠ·Π΅ Π΅Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ»ΠΈ Π½Π° Π΄Π²Π΅ части ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π»ΠΈ Π² Vaadin Flow. Однако ΠΎΠ½ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ являСтся лСгковСсным Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° сторонС сСрвСра.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

НадСюсь, это знакомство ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ Π²Π°ΠΌ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ясноС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Java Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ². Π˜Ρ… ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для выявлСния Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящСго способа Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π°ΡˆΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

Π’ Π²Ρ‹Π±ΠΎΡ€Π΅ Π²Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ содСйствиС ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ всС свои трСбования ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ. Π‘Π°ΠΌ ΠΏΠΎ сСбС Java являСтся ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Π΅Ρ‰Π°ΡŽΡ‰ΠΈΠΌ языком. Π“Π»Π°Π²Π½ΠΎΠ΅ β€” Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ максимально подходящий Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΈ Π²Ρ‹ смоТСтС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ самыС замысловатыС ΠΏΠ»Π°Π½Ρ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *