Skip to content

Commit 902eba2

Browse files
authored
Add Micronaut and Quarkus links. Update Project Loom README (#38)
1 parent 249d362 commit 902eba2

2 files changed

Lines changed: 153 additions & 106 deletions

File tree

README.adoc

Lines changed: 136 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
= Asynchronous & reactive programming in Java
22
Marcos de la Calle Samaniego, @marcosDLCS <marcos.dlcs@gmail.com>
3-
v1.0.0, 2020-12-07
3+
v1.0.1, 2020-12-07
44
:toc:
55

66
++++
@@ -99,87 +99,118 @@ It seems obvious but the best place to find good information about the Spring ec
9999
|Name |Author |Year |Info
100100

101101
| https://www.infoq.com/presentations/spring-reactive-webflux[Guide to "Reactive" for Spring MVC Developers, window=_blank]
102-
|Rossen Stoyanchev
103-
|2018
104-
|🇬🇧 📹
102+
| Rossen Stoyanchev
103+
| 2018
104+
| 🇬🇧 📹
105105

106106
| https://www.youtube.com/watch?v=vSHNBgY7MGA&ab_channel=SpringI%2FO[Moving from Imperative to Reactive, window=_blank]
107-
|Paul Harris
108-
|2019
109-
|🇬🇧 📹
107+
| Paul Harris
108+
| 2019
109+
| 🇬🇧 📹
110110

111111
| https://hazelcast.com/blog/migrating-from-imperative-to-reactive[Migrating from Imperative to Reactive, window=_blank]
112-
|Nicholas Frankel
113-
|2020
114-
|🇬🇧 📋
112+
| Nicholas Frankel
113+
| 2020
114+
| 🇬🇧 📋
115115

116116
| https://www.youtube.com/watch?v=0rnMIueRKNU&ab_channel=SpringDeveloper[Do’s and Don’ts: Avoiding First-Time Reactive Programmer Mines, window=_blank]
117117
|Sergei Egorov
118118
|2019
119119
|🇬🇧 📹
120120

121121
| https://www.youtube.com/watch?v=ODzY5uJfzDI&ab_channel=SpringI%2FO[Benefits of reactive programming with Reactor and Spring Boot 2, window=_blank]
122-
|Violeta Georgieva
123-
|2019
124-
|🇬🇧 📹
122+
| Violeta Georgieva
123+
| 2019
124+
| 🇬🇧 📹
125125

126126
| https://www.youtube.com/watch?v=xCu73WVg8Ps&ab_channel=SpringDeveloper[Avoiding Reactor Meltdown, window=_blank]
127-
|Phil Clay
128-
|2019
129-
|🇬🇧 📹
127+
| Phil Clay
128+
| 2019
129+
| 🇬🇧 📹
130130

131131
| https://www.youtube.com/watch?v=pyqIpqCt8PU&ab_channel=vJUG[Reactive Performance, window=_blank]
132-
|Oleh Dokuka
133-
|2019
134-
|🇬🇧 📹
132+
| Oleh Dokuka
133+
| 2019
134+
| 🇬🇧 📹
135135

136136
| https://www.youtube.com/watch?v=qwF6v6FN_Uc&ab_channel=SpringDeveloper[Getting Started with R2DBC, window=_blank]
137-
|Mark Heckler
138-
|2018
139-
|🇬🇧 📹
137+
| Mark Heckler
138+
| 2018
139+
| 🇬🇧 📹
140140

141141
| https://www.youtube.com/watch?v=ipVfRdl5SP0&ab_channel=SpringDeveloper[The RSocket Revolution, window=_blank]
142-
|Josh Long
143-
|2020
144-
|🇬🇧 📹
142+
| Josh Long
143+
| 2020
144+
| 🇬🇧 📹
145145

146146
| https://www.youtube.com/watch?v=hfupNIxzNP4&ab_channel=SpringI%2FO[Flight of the Flux: A look at Reactor execution model, window=_blank]
147-
|Simon Baslé
148-
|2018
149-
|🇬🇧 📹
147+
| Simon Baslé
148+
| 2018
149+
| 🇬🇧 📹
150150

151151
| https://spring.io/blog/2019/03/06/flight-of-the-flux-1-assembly-vs-subscription[Flight of the Flux 1 - Assembly vs Subscription, window=_blank]
152-
|Simon Baslé
153-
|2019
154-
|🇬🇧 📋
152+
| Simon Baslé
153+
| 2019
154+
| 🇬🇧 📋
155155

156156
| https://spring.io/blog/2019/04/16/flight-of-the-flux-2-debugging-caveats[Flight of the Flux 2 - Debugging Caveats, window=_blank]
157-
|Simon Baslé
158-
|2019
159-
|🇬🇧 📋
157+
| Simon Baslé
158+
| 2019
159+
| 🇬🇧 📋
160160

161161
| https://spring.io/blog/2019/12/13/flight-of-the-flux-3-hopping-threads-and-schedulers[Flight of the Flux 3 - Hopping Threads and Schedulers, window=_blank]
162-
|Simon Baslé
163-
|2019
164-
|🇬🇧 📋
162+
| Simon Baslé
163+
| 2019
164+
| 🇬🇧 📋
165165

166166
| https://projectreactor.io/docs/core/release/reference/#which-operator[Project Reactor: Which operator do I need? (Appendix A), window=_blank]
167-
|Project Reactor Docs
167+
| Project Reactor Docs
168168
| -
169-
|🇬🇧 📋
169+
| 🇬🇧 📋
170170
|===
171171

172172
=== 🌈 Other framework ecosystems
173173

174-
[cols="6,3,2,1"]
174+
[cols="6,3,1,2,1"]
175175
.Interesting videos and articles about other frameworks and ecosystems
176176
|===
177-
|Name |Author |Year |Info
177+
|Name |Author |Year | Ecosystem| Info
178+
179+
| https://quarkus.io/guides/getting-started-reactive[Quarkus - Getting started with Reactive, window=_blank]
180+
| -
181+
| -
182+
| Quarkus
183+
|🇬🇧 📋
178184

179185
| https://www.youtube.com/watch?v=kWlrGtwvOxg&ab_channel=RedHatDeveloper/[Reactive Quarkus–A Java Mutiny, window=_blank]
180-
|Clement Escoffier
181-
|2020
182-
|🇬🇧 📹
186+
| Clement Escoffier
187+
| 2020
188+
| Quarkus
189+
| 🇬🇧 📹
190+
191+
| https://docs.micronaut.io/latest/guide/index.html#reactiveServer[Reactive HTTP Request Processing]
192+
| -
193+
| -
194+
| Micronaut
195+
|🇬🇧 📋
196+
197+
| https://docs.micronaut.io/latest/guide/index.html#reactiveServer[Configurations for Reactive Programming]
198+
| -
199+
| -
200+
| Micronaut
201+
|🇬🇧 📋
202+
203+
| https://www.youtube.com/watch?v=EvkSWuo7Mig&ab_channel=Autentia[Microservicios reactivos con Micronaut]
204+
| Iván López
205+
| 2019
206+
| Micronaut
207+
|🇪🇸 📹
208+
209+
| https://piotrminkowski.com/2019/11/12/micronaut-tutorial-reactive/[Micronaut Tutorial: Reactive]
210+
| Piotr Minkowski
211+
| 2019
212+
| Micronaut
213+
|🇬🇧 📋
183214
|===
184215

185216
=== ☕ Project Loom
@@ -207,54 +238,54 @@ Project Loom is to intended to explore, incubate and deliver Java VM features an
207238
|🇬🇧
208239

209240
| https://youtu.be/23HjZBOIshY/[Project Loom: Modern Scalable Concurrency for the Java Platform, window=_blank]
210-
|Ron Pressler
211-
|2020
212-
|🇬🇧 📹
241+
| Ron Pressler
242+
| 2020
243+
| 🇬🇧 📹
213244

214245
| https://inside.java/2020/08/07/loom-performance/[On the performance of user-mode threads and coroutines, window=_blank]
215-
|Ron Pressler
216-
|2020
217-
|🇬🇧 📋
246+
| Ron Pressler
247+
| 2020
248+
| 🇬🇧 📋
218249

219250
| https://blog.frankel.ch/project-loom-reactive-coroutines/[On Project Loom, the Reactive model and coroutines, window=_blank]
220-
|Nicholas Frankel
221-
|2020
222-
|🇬🇧 📋
251+
| Nicholas Frankel
252+
| 2020
253+
| 🇬🇧 📋
223254

224255
| https://i-rant.arnaudbos.com/loom-part-0-rationale/[Loom - Part 0 - Rationale, window=_blank]
225256
|Arnaud Bos
226257
|2019
227258
|🇬🇧 📋
228259

229260
| https://i-rant.arnaudbos.com/loom-part-1-scheduling/[Loom - Part 1 - It's all about Scheduling, window=_blank]
230-
|Arnaud Bos
231-
|2019
232-
|🇬🇧 📋
261+
| Arnaud Bos
262+
| 2019
263+
| 🇬🇧 📋
233264

234265
| https://i-rant.arnaudbos.com/loom-part-2-blocking/[Loom - Part 2 - Blocking code, window=_blank]
235-
|Arnaud Bos
236-
|2019
237-
|🇬🇧 📋
266+
| Arnaud Bos
267+
| 2019
268+
| 🇬🇧 📋
238269

239270
| https://i-rant.arnaudbos.com/loom-part-3-async/[Loom - Part 3 - Asynchronous code, window=_blank]
240-
|Arnaud Bos
241-
|2019
242-
|🇬🇧 📋
271+
| Arnaud Bos
272+
| 2019
273+
| 🇬🇧 📋
243274

244275
| https://i-rant.arnaudbos.com/loom-part-4-nio/[Loom - Part 4 - Non-thread-blocking async I/O, window=_blank]
245-
|Arnaud Bos
246-
|2020
247-
|🇬🇧 📋
276+
| Arnaud Bos
277+
| 2020
278+
| 🇬🇧 📋
248279

249280
| https://paluch.biz/blog/182-experimenting-with-project-loom-eap-and-spring-webmvc.html[Experimenting with Project Loom EAP and Spring WebMVC, window=_blank]
250-
|Mark Paluch
251-
|2020
252-
|🇬🇧 📋
281+
| Mark Paluch
282+
| 2020
283+
| 🇬🇧 📋
253284

254285
| https://www.javaadvent.com/2020/12/project-loom-and-structured-concurrency.html[Project Loom and structured concurrency, window=_blank]
255-
|Cay Horstmann
256-
|2020
257-
|🇬🇧 📋
286+
| Cay Horstmann
287+
| 2020
288+
| 🇬🇧 📋
258289
|===
259290

260291
=== ⚒️ Libraries and tools
@@ -265,26 +296,26 @@ Project Loom is to intended to explore, incubate and deliver Java VM features an
265296
|Name |Description
266297

267298
| https://visualvm.github.io/[VisualVM, window=_blank]
268-
|VisualVM is a visual tool integrating commandline JDK tools and lightweight profiling capabilities.
299+
| VisualVM is a visual tool integrating commandline JDK tools and lightweight profiling capabilities.
269300
Designed for both development and production time use
270301

271302
| https://github.com/openjdk/jmc[Java Mission Control, window=_blank]
272-
|Mission Control is an open source production time profiling and diagnostics tool for Java
303+
| Mission Control is an open source production time profiling and diagnostics tool for Java
273304

274305
| http://www.awaitility.org/[Awaitility, window=_blank]
275-
|Awaitility is a DSL that allows you to express expectations of an asynchronous system in a concise and easy to read manner
306+
| Awaitility is a DSL that allows you to express expectations of an asynchronous system in a concise and easy to read manner
276307

277308
| https://github.com/reactor/BlockHound[BlockHound, window=_blank]
278-
|Java agent to detect blocking calls from non-blocking threads
309+
| Java agent to detect blocking calls from non-blocking threads
279310

280311
| https://github.com/reactor/reactor-core/tree/master/reactor-tools[Reactor Tools, window=_blank]
281-
|A set of tools to improve Project Reactor's debugging and development experience. Starting from Reactor 3.3.0.M2, reactor-tools is now moved to reactor-core
312+
| A set of tools to improve Project Reactor's debugging and development experience. Starting from Reactor 3.3.0.M2, reactor-tools is now moved to reactor-core
282313

283314
| https://github.com/reactor/reactor-addons[Reactor Addons, window=_blank]
284-
|Reactor-adapter and reactor-extras utils
315+
| Reactor-adapter and reactor-extras utils
285316

286317
| https://github.com/reactor/reactor-core/tree/master/reactor-tools[Rx Marbles, window=_blank]
287-
|A webapp for experimenting with diagrams of Rx Observables, for learning purposes
318+
| A webapp for experimenting with diagrams of Rx Observables, for learning purposes
288319
|===
289320

290321
=== 📕 Books
@@ -295,34 +326,34 @@ Designed for both development and production time use
295326
|Name |Author |Year |Lang
296327

297328
| https://www.goodreads.com/book/show/21799444-reactive-design-patterns[Reactive Design Patterns, window=_blank]
298-
|Roland Kuhn, Jamie Allen
299-
|2014
300-
|🇬🇧
329+
| Roland Kuhn, Jamie Allen
330+
| 2014
331+
| 🇬🇧
301332

302333
| https://www.goodreads.com/book/show/23752020-reactive-application-development[Reactive Application Development, window=_blank]
303-
|Sean Walsh, Duncan K. DeVore, Brian Hanafee
304-
|2018
305-
|🇬🇧
334+
| Sean Walsh, Duncan K. DeVore, Brian Hanafee
335+
| 2018
336+
| 🇬🇧
306337

307338
| https://www.goodreads.com/book/show/28321006-reactive-programming-with-rxjava[Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications, window=_blank]
308-
|Tomasz Nurkiewicz, Ben Christensen
309-
|2016
310-
|🇬🇧
339+
| Tomasz Nurkiewicz, Ben Christensen
340+
| 2016
341+
| 🇬🇧
311342

312343
| https://www.goodreads.com/book/show/53722460-hacking-with-spring-boot-2-3[Hacking with Spring Boot 2.3: Reactive Edition, window=_blank]
313-
|Greg L. Turnquist
314-
|2020
315-
|🇬🇧
344+
| Greg L. Turnquist
345+
| 2020
346+
| 🇬🇧
316347

317348
| https://www.goodreads.com/book/show/49450069-reactive-spring[Reactive Spring, window=_blank]
318-
|Josh Long
319-
|2020
320-
|🇬🇧
349+
| Josh Long
350+
| 2020
351+
| 🇬🇧
321352

322353
| https://www.goodreads.com/book/show/55182022-spring-boot[Spring Boot: Up and Running: Building Cloud Native Java and Kotlin Applications, window=_blank]
323-
|Mark Heckler
324-
|2021
325-
|🇬🇧
354+
| Mark Heckler
355+
| 2021
356+
| 🇬🇧
326357
|===
327358

328359
=== 👩🏻‍🏫 Courses
@@ -333,19 +364,19 @@ Designed for both development and production time use
333364
|Name |Author |Platform |Lang
334365

335366
| https://www.youtube.com/playlist?list=PLL8woMHwr36EDxjUoCzboZjedsnhLP1j4[Java concurrency and multithreading (playlist), window=_blank]
336-
|Jakob Jenkov
337-
|Youtube
338-
|🇬🇧
367+
| Jakob Jenkov
368+
| Youtube
369+
| 🇬🇧
339370

340371
| https://www.udemy.com/course/efficient-java-multithreading-with-executors/[Efficient Java Multithreading and Concurrency with Executors, window=_blank]
341-
|Arun Kumar
342-
|Udemy
343-
|🇬🇧
372+
| Arun Kumar
373+
| Udemy
374+
| 🇬🇧
344375

345376
| https://learning.oreilly.com/library/view/reactive-spring-boot/9780136836421/[Reactive Spring, 2nd Edition, window=_blank]
346-
|Josh Long
347-
|Oreilly
348-
|🇬🇧
377+
| Josh Long
378+
| Oreilly
379+
| 🇬🇧
349380
|===
350381

351382
== 🚶‍♀️ Who to follow?

0 commit comments

Comments
 (0)