forked from hltj/kotlin-web-site-cn
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathevents.xml
5874 lines (5465 loc) · 294 KB
/
events.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version='1.0' encoding='UTF-8'?>
<events>
<event>
<lang>en</lang>
<startDate>2019-05-04</startDate>
<endDate>2019-05-04</endDate>
<location>Abuja, Nigeria</location>
<speaker>Slick Shola Akinrolie</speaker>
<title>Kotlin Abuja User Group</title>
<subject>Kotlin, The future of mobile development</subject>
<url>https://www.meetup.com/Kotlin-Abuja-User-Group-Nigeria/events/259291924/</url>
<description>
<![CDATA[
<p>Experience the power of the fastest growing programming language in the world. Learn mobile development with ease and get resources, tools, and latest updates on Kotlin, CodeLab Sessions, Free License, Full Mentorship and lots more.</p>
]]>
</description>
</event>
<event>
<lang>pl</lang>
<startDate>2019-04-16</startDate>
<endDate>2019-04-16</endDate>
<location>Poznań, Poland</location>
<speaker>Oskar Drozda</speaker>
<title>Grupa .NET Politechnika Poznańska</title>
<subject>Annotation Processing 101</subject>
<url>https://www.facebook.com/put.net/</url>
<description>
<![CDATA[
<p>Butterknife, Spring, Lombok, SQLDelight, Dagger... All of them are processing annotation, but how they do that? This talk will be an introduction to the magical world of annotation processing in JVM. Code will be in shiny and trendy Kotlin language, but if you write Java on your daily basis, you will feel like at home.</p>
]]>
</description>
</event>
<event>
<lang>es</lang>
<startDate>2019-04-27</startDate>
<endDate>2019-04-27</endDate>
<location>Cáceres, Spain</location>
<speaker>Antonio Leiva</speaker>
<title>EXFest</title>
<subject>Introducción a las corrutinas en Kotlin</subject>
<url>https://www.exfest.tech/speakers/6/</url>
<description>
<![CDATA[
<p>Si las tareas en segundo plano, los cambios de hilo o la sincronización entre callbacks te hacen tener pesadillas nocturnas, ¡las corrutinas harán que vuelvas a dormir tranquilo! Paso a paso y de forma muy sencilla, veremos todos los conceptos necesarios para entender cómo funcionan y resolver un problema muy común.</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-04-06</startDate>
<endDate>2019-04-06</endDate>
<location>Kiev, Ukraine</location>
<speaker>Dmitriy Zaitsev</speaker>
<title>UAMobile 2019</title>
<subject>Idiomatic DI in Kotlin without frameworks</subject>
<url>http://uamobile.org/uk/topics/idiomatichna-iniekciya-zalezhnostey-na-kotlin-bez-freymvorkiv</url>
<description>
<![CDATA[
<p>All current popular DI frameworks for Java use annotation processing during compilation and/or program execution. They work equally well for Kotlin, but have their drawbacks because they generate too much code and/or use reflexion, which negatively affects the compilation time of the application, its size and performance. In addition, their configuration is usually non-trivial for a large project. Kotlin went better way...</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-04-06</startDate>
<endDate>2019-04-06</endDate>
<location>Kiev, Ukraine</location>
<speaker>Oleksandr Yefremov</speaker>
<title>UAMobile 2019</title>
<subject>Multiplatform shared codebase with Kotlin/Native</subject>
<url>http://uamobile.org/uk/topics/multiplatform-shared-codebase-kotlinnative</url>
<description>
<![CDATA[
<p>If you want to share the code between Android and iOS but you don't feel like doing C++/JNI, React Native, Flutter, you must try Kotlin/Native! In this presentation we will see how Kotlin/Native is different and in some aspects superior, and how easy it becomes to develop, debug and maintain a common codebase with JetBrains tools and without sacrificing runtime performance.</p>
]]>
</description>
</event>
<event>
<lang>de</lang>
<startDate>2019-06-20</startDate>
<endDate>2019-06-20</endDate>
<location>Dresden, Germany</location>
<speaker>Stefan Beyer</speaker>
<title>Output 2019</title>
<subject>Ist Kotlin das bessere Java?</subject>
<url>https://output-dd.de/blog/project-post/ist-kotlin-das-bessere-java/</url>
<description>
<![CDATA[
<p>Kotlin hat sich in den letzten Jahren sehr verbreitet. Die Sprache, die ursprünglich nur für die JVM gedacht war, compiliert inzwischen auch nach JavaScript und native, wird von Google offiziell für Android unterstützt und erfreut sich generell immer mehr Beliebtheit. In dem Kurzvortrag werden die Grundlagen der Sprache angeschnitten. Ein Vergleich mit Java zeigt spezielle Probleme auf, die in altbekannten Sprachen bestehen. Warum Kotlin immer beliebter wird und was damit möglich ist, zeigt ein kleiner Ausblick.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-23</startDate>
<endDate>2019-05-23</endDate>
<location>New York, NY, USA</location>
<speaker>Oscar Salguero</speaker>
<title>New York Kotlin Meetup</title>
<subject>Android Things and Kotlin</subject>
<url>https://www.meetup.com/New-York-Kotlin-Meetup/events/250575843/</url>
<description>
<![CDATA[
<p>In this talk, Oscar tells us about the latest and greatest about Kotlin released at Google I/O 2018 and about the development of Sentinel, the first home security robot powered by Android Things, and how hardware, software, coded in Kotlin of course!, Firebase and how the Google Cloud Platform integrates with Sentinel to "bring it to life".</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-23</startDate>
<endDate>2019-05-23</endDate>
<location>New York, NY, USA</location>
<speaker>Mohit Sarveiya</speaker>
<title>New York Kotlin Meetup</title>
<subject>Kotlin Multiplatform</subject>
<url>https://www.meetup.com/New-York-Kotlin-Meetup/events/250575843/</url>
<description>
<![CDATA[
<p>A Kotlin multiplatform project allows you share code between different platforms. It takes a different approach to cross platform development than Xamarin and other frameworks. This talk will be about how to setup and build a multiplatform project. We will look at features of Kotlin multiplatform development through an example project. We will also look at the current limitations.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-26</startDate>
<endDate>2019-04-26</endDate>
<location>Waukesha, USA</location>
<speaker>Michael Fazio</speaker>
<title>Indy.Code()</title>
<subject>Kotlin - Less Code, More Fun</subject>
<url>https://indycode.amegala.com/Schedule/List</url>
<description>
<![CDATA[
<p>tl;dr - Write less (but safer!) code in your Android apps or any JVM-based projects Ever work on an Android app and tire of all the boilerplate code? Or spend hours chasing down NullPointerExceptions in your Java app? Enter Kotlin, JetBrains' new(ish) free, open-source programming language that targets the JVM. This means you can use it everywhere you use Java, but with a modern, succinct syntax. For native Android developers, Kotlin is not only available, but it's now considered a first-class language. You're able to write an app completely with Kotlin, or switch over entire components, or even just change your models to Kotlin's data classes (which removes a TON of boilerplate code.) Oh, and for anyone using Java elsewhere, you can add in Kotlin code to your existing application. Kotlin is 100% interoperable with Java, meaning all your existing code/libraries/tests will work with any Kotlin code you write. Doing JavaScript development? Kotlin can be transpiled into ES5, and there are even libraries available to use React or Angular with Kotlin. C# dev working on any kind of Java project? You'll feel much more at home with Kotlin, given features like nullable types, properties (rather than getters/setters), and extension methods. We'll walk through Kotlin's features, check out the syntax, and even create a small Android application so you can see Kotlin in action.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-09</startDate>
<endDate>2019-04-09</endDate>
<location>Toulouse, France</location>
<speaker>Michael Fazio</speaker>
<title>GDG Toulouse</title>
<subject>Introduction to Kotlin coroutines</subject>
<url>https://www.meetup.com/GDG-Toulouse/events/258928678/</url>
<description>
<![CDATA[
<p>Since Kotlin 1.3 was released last October, coroutines are no longer experimental and have become a key feature for Kotlin programmers, which was largely promoted during KotlinConf 2018. In this talk, we will quickly compare coroutines to other options of asynchronous programming available in Kotlin and explore how to use them efficiently in your app.</p>
]]>
</description>
</event>
<event>
<lang>pt</lang>
<startDate>2019-04-24</startDate>
<endDate>2019-04-24</endDate>
<location>Florianópolis, Brazil</location>
<speaker>Leandro Sobocinski</speaker>
<title>TDC 2019 | Florianópolis </title>
<subject>Using Kotlin Multiplatform in iFood</subject>
<url>http://www.thedevelopersconference.com.br/tdc/2019/florianopolis/trilha-android</url>
<description>
<![CDATA[
<p>Kotlin is a programming language that grew a lot in the last few years. Currently it's the default language for new Android apps, but are you ready for the next steps? Kotlin multiplatform is growing a lot and, despite the beta status, it's already possible to share code between different platforms. In this talk I'll explain how it works, the libraries that are already compatible with different platforms and how we are using it in iFood.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-11</startDate>
<endDate>2019-04-11</endDate>
<location>Cambridge, MA</location>
<speaker>Ryan Batchelder</speaker>
<title>Kotlin Office Hours</title>
<subject>Taking Kotlin Multiplatform to the Cloud, a Serverless Approach</subject>
<url>https://www.meetup.com/kotlin-office-hours/events/260312792/</url>
<description>
<![CDATA[
<p>Running Kotlin/JVM on serverless platforms typically means dealing with high memory usage and slower startup times, which means interpreted languages like JS and Python are typically more popular. Since Kotlin can target JS, we can actually write Kotlin code that runs on serverless Node runtimes to get the performance and memory benefits that runtime provides. Surprisingly, we can also use Kotlin/Native to target serverless platforms to combine the speed of native code with the simplicity of serverless operations. I’ll talk about how to use both of these approaches to build cheaper, more performant serverless applications and how you might choose between them.</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-04-20</startDate>
<endDate>2019-04-20</endDate>
<location>Rostov-on-Don, Russia</location>
<speaker>Alexander Nevyantsev</speaker>
<title>Rostov Kotlin User Group</title>
<subject>Kotlin codestyle</subject>
<url>https://it61.info/events/2019-04-20-kotlin-meetup-356</url>
<description>
<![CDATA[
<p>Котлин — это ящик Пандоры. Язык позволяет многое, но если искусственно не ограничивать себя, то программа может превратиться в хаос.</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-04-20</startDate>
<endDate>2019-04-20</endDate>
<location>Rostov-on-Don, Russia</location>
<speaker>Mikhail Levchenko</speaker>
<title>Rostov Kotlin User Group</title>
<subject>Система типов в Kotlin</subject>
<url>https://it61.info/events/2019-04-20-kotlin-meetup-356</url>
<description>
<![CDATA[
<p>Что возвращает функция, когда бросает ошибку? Unit — это все таки void или Void? Можно ли сделать List<Nothing>? Как не сойти с ума и натянуть свою доменную область на типы?</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-04-20</startDate>
<endDate>2019-04-20</endDate>
<location>Rostov-on-Don, Russia</location>
<speaker>Denis Alexandrov</speaker>
<title>Rostov Kotlin User Group</title>
<subject>Зачем нужны корутины</subject>
<url>https://it61.info/events/2019-04-20-kotlin-meetup-356</url>
<description>
<![CDATA[
<p>Корутины — мощный и широкий инструмент для решения задач по асинхронной обработке данных. Нужны ли корутины в маленьких проектах, какие проблемы они помогут решить и как добавить их в уже существующий проект?</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-11</startDate>
<endDate>2019-04-11</endDate>
<location>Budapest, Hungary</location>
<speaker>Ruda Balázs</speaker>
<title>Kotlin Budapest User Group</title>
<subject>Static Code Analysis for Kotlin</subject>
<url>https://www.meetup.com/Kotlin-Budapest/events/259759644/</url>
<description>
<![CDATA[
<p>This talk is about tools we can use for checking our Kotlin code: ktlint, detekt, and Android Lint. We'll cover how to integrate them to CI and IDE, how to write custom rules, and how test them.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-11</startDate>
<endDate>2019-04-11</endDate>
<location>Budapest, Hungary</location>
<speaker>Monori Antal János</speaker>
<title>Kotlin Budapest User Group</title>
<subject>Cleaning up your code with sealed classes</subject>
<url>https://www.meetup.com/Kotlin-Budapest/events/259759644/</url>
<description>
<![CDATA[
<p>Also known more broadly as Algebraic Data Types, they represent a constrained class hierarchy with only one possible type at the time which helps you remain compiler-safe. Sealed classes in our data layer allow semantically more correct and type-safe code in our streams. He will go through how are they constructed and some real use cases to take away with you home.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-11</startDate>
<endDate>2019-04-11</endDate>
<location>Budapest, Hungary</location>
<speaker>Braun Márton</speaker>
<title>Kotlin Budapest User Group</title>
<subject>Cleaning up your code with sealed classes</subject>
<url>https://www.meetup.com/Kotlin-Budapest/events/259759644/</url>
<description>
<![CDATA[
<p>A look at the important design choices to be made when designing a Kotlin library based on delegates.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-16</startDate>
<endDate>2019-04-16</endDate>
<location>Chambéry, France</location>
<speaker>Thomas Jaussoin</speaker>
<title>Meetup GDG Alps #4</title>
<subject>Kids: comment commencer à coder pour les plus de 8 ans</subject>
<url>https://www.scoop.it/topic/technos-et-humain/p/4106741663/2019/04/03/le-mug-meetup-gdg-alps-4-dev-pour-les-kids-kotlin-native</url>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-16</startDate>
<endDate>2019-04-16</endDate>
<location>Chambéry, France</location>
<speaker>Thomas Jaussoin</speaker>
<title>Meetup GDG Alps #4</title>
<subject>Kotlin/Native</subject>
<url>https://www.scoop.it/topic/technos-et-humain/p/4106741663/2019/04/03/le-mug-meetup-gdg-alps-4-dev-pour-les-kids-kotlin-native</url>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-24</startDate>
<endDate>2019-05-24</endDate>
<location>Minsk, Belarus</location>
<speaker>Justin Lee</speaker>
<title>VoxxedDays Minsk</title>
<subject>Undercover Kotlin: Using Kotlin without tipping your hand</subject>
<url>https://voxxeddays.com/minsk/2019/undercover-kotlin-using-kotlin-without-tipping-your-hand/</url>
<description>
<![CDATA[
<p>One of the many hazards of trying out a new language is the lack of interoperability. A new language often presents the added burden of learning a whole new ecosystem. The designers of Kotlin took special care to make sure Kotlin suffered from this as little as possible. Generally speaking, much of the code written in Kotlin can be consumed from Java programs in complete ignorance. In some cases, we need to provide a little extra help. In this talk we’ll cover how to manage Kotlin/Java interop to make your Kotlin code as seamlessly usable from Java as possible.</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-05-24</startDate>
<endDate>2019-05-24</endDate>
<location>Minsk, Belarus</location>
<speaker>Nikita Koval</speaker>
<title>VoxxedDays Minsk</title>
<subject>How we developed channel algorithms in Kotlin coroutines</subject>
<url>https://voxxeddays.com/minsk/2019/how-we-developed-channel-algorithms-in-kotlin-coroutines/</url>
<description>
<![CDATA[
<p>Most programming languages have been introducing asynchronous programming mechanisms. Kotlin, for its part, implemented coroutines which use channels to communicate with each other. Therefore, high-load applications depend on those channels performance, so they need to be implemented in an efficient and scalable way.</p>
<p>In this talk, we will discuss channel algorithms in other programming languages, how we in Kotlin developed our solution, which challenges and subtle aspects we encountered during this process, and whether we managed a real improvement of the existing solutions.</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-05-24</startDate>
<endDate>2019-05-24</endDate>
<location>Minsk, Belarus</location>
<speaker>Sergey Zolotov</speaker>
<title>VoxxedDays Minsk</title>
<subject>How we developed channel algorithms in Kotlin coroutines</subject>
<url>https://voxxeddays.com/minsk/2019/kotlin-coroutines-in-practice/</url>
<description>
<![CDATA[
<p>Kotlin coroutines were recently released. We use them in our projects on backend. In this talk I will show you how to use it in real back-end based applications, common patterns and problems you could face.</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-04-13</startDate>
<endDate>2019-04-13</endDate>
<location>Moscow, Russia</location>
<speaker>Roman Elizarov</speaker>
<title>JetBrains Night</title>
<subject>Корутины в Kotlin на сервере</subject>
<url>https://info.jetbrains.com/jetbrains-night-moscow-2019.html</url>
<description>
<![CDATA[
<p>Мы поговорим о традиционных проблемах масштабирования серверных приложений на JVM и о том, как их можно решить с помощью асинхронного кода, который теперь как никогда просто писать благодаря корутинам в Котлине. Мы увидим, как дизайн, основанный на корутинах и структурной многозадачности, позволяет избежать традиционных проблем асинхронного кода, связанных с управлением ресурсами, обработкой ошибок и отменой запросов.</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-04-13</startDate>
<endDate>2019-04-13</endDate>
<location>Moscow, Russia</location>
<speaker>Mikhail Krainov</speaker>
<title>JetBrains Night</title>
<subject>Full-stack приложение на Kotlin глазами фронтенд-разработчика</subject>
<url>https://info.jetbrains.com/jetbrains-night-moscow-2019.html</url>
<description>
<![CDATA[
<p>В этом докладе я расскажу о том, как написать full-stack приложение на Kotlin. Мы рассмотрим различные технологии из мира Kotlin, делающие этот язык таким мощным и удобным инструментом: создадим мультиплатформенный проект, переиспользующий код между Kotlin/JVM и Kotlin/JS, напишем фронтенд с помощью удобных DSL для React и CSS и воспользуемся корутинами для клиент-серверного взаимодействия.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-13</startDate>
<endDate>2019-04-13</endDate>
<location>Nairobi, Kenya</location>
<speaker>Donald Bruce</speaker>
<title>Kotlin Kenya User Group</title>
<subject>Process Management & CPU Scheduling</subject>
<url>https://www.meetup.com/KotlinKenya/events/260478875/</url>
<description>
<![CDATA[
<p>Diving into deeper insights on Process Management and CPU Scheduling.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-17</startDate>
<endDate>2019-04-17</endDate>
<location>Chicago, USA</location>
<speaker>Cody Engel</speaker>
<title>Chicago Kotlin Users Group</title>
<subject>Kotlin + Android</subject>
<url>https://www.meetup.com/Chicago-Kotlin/events/260015075/</url>
<description>
<![CDATA[
<p>Cody will take you through his journey from Kotlin newbie to evangelist at one of Chicago's fastest growing technology companies. Along the way you'll learn helpful tips both related to writing Kotlin and convincing others to start using it.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-17</startDate>
<endDate>2019-04-17</endDate>
<location>Indianapolis, IN, US</location>
<speaker>Clay Taylor</speaker>
<title>Indianapolis Java User Group</title>
<subject>Async Server Side Programming in Kotlin</subject>
<url>https://www.meetup.com/Indianapolis-Java-User-Group/events/260448770/</url>
<description>
<![CDATA[
<p>Coroutines is a popular asyc kotlin library that offers an alternative to more complex libraries like RxJava. We will be diving into the basics of coroutines using a Kotlin server side tool called Ktor. Ktor is a framework for building asynchronous servers and clients using the Kotlin programming language. We will walk through a simple implementation of creating an API using Ktor. We will learn the basics of coroutines to implement familiar concepts such as serving JSON content, simple routing, and handling HTTP methods.</p>
]]>
</description>
</event>
<event>
<lang>pt</lang>
<startDate>2019-04-17</startDate>
<endDate>2019-04-17</endDate>
<location>São Paulo, Brazil</location>
<speaker>Guilherme Pohlmann Da Rosa, Fabrício Rissetto</speaker>
<title>Kotlin Meetup - São Paulo</title>
<subject>Funcional Domain Driven Design</subject>
<url>https://www.meetup.com/kotlin-meetup-sp/events/260536518/</url>
</event>
<event>
<lang>pt</lang>
<startDate>2019-04-17</startDate>
<endDate>2019-04-17</endDate>
<location>São Paulo, Brazil</location>
<speaker>Paula Grangeiro</speaker>
<title>Kotlin Meetup - São Paulo</title>
<subject>Mocks e testes com MockK</subject>
<url>https://www.meetup.com/kotlin-meetup-sp/events/260536518/</url>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-18</startDate>
<endDate>2019-04-18</endDate>
<location>New York, NY, USA</location>
<speaker>Miles Peele</speaker>
<title>New York Kotlin Meetup</title>
<subject>Fluent Testing with Kotlin</subject>
<url>https://www.meetup.com/New-York-Kotlin-Meetup/events/260320461/</url>
<description>
<![CDATA[
<p>Tests are an integral part of writing maintainable, clean code. If your tests are verbose, your code is probably also verbose. In this talk, we'll discover how to make your tests easy to read, easy to write, and easy to maintain using Kotlin's reified types combined with inline, infix and extension functions.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-18</startDate>
<endDate>2019-04-18</endDate>
<location>New York, NY, USA</location>
<speaker>Josh Williams</speaker>
<title>New York Kotlin Meetup</title>
<subject>Kotlin + AWS Lambdas: Building an API in 10 minutes</subject>
<url>https://www.meetup.com/New-York-Kotlin-Meetup/events/260320461/</url>
<description>
<![CDATA[
<p>AWS Lambdas are one of the most useful tools to use when creating a backend. Allowing developers to not have to worry about the server and configurations their backend is running on, Lambdas allow you the versatility to write code in many different languages and provide many different services including providing an api; Kotlin is one of them. We will go over how to create your api with Lambdas using Kotlin and AWS Serverless.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-18</startDate>
<endDate>2019-04-18</endDate>
<location>Berlin, Germany</location>
<speaker>Nikolai Chechin</speaker>
<title>Kotlin user group Berlin</title>
<subject>Building a GraphQl service with SpringBoot and Kotlin</subject>
<url>https://www.meetup.com/kotlin-berlin/events/tvhffpyzgbxb/</url>
</event>
<event>
<lang>pl</lang>
<startDate>2019-04-23</startDate>
<endDate>2019-04-23</endDate>
<location>Kraków, Poland</location>
<speaker>Paweł Marks</speaker>
<title>Kraków Kotlin User Group</title>
<subject>Coroutines - what? how? why?</subject>
<url>https://www.meetup.com/krakow-kotlin/events/260533611/</url>
<description>
<![CDATA[
<p>Coroutines have been with us for a few years now. They have been even considered stable for over half a year. Still lots of folks are afraid of them. Judging by number of questions about them on Stack Overflow and other sites there is still a lot of misconceptions and bad intuitions involving use of coroutines. In my short talk I would like to clarify what it means for function to be suspended and explain why sometimes our asyncs are in fact synchronous. I will also presents you most basic building blocks provieded by kotlinx.coroutines.core library, that we will use later during workshop.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-25</startDate>
<endDate>2019-04-25</endDate>
<location>Oslo, Norway</location>
<speaker>Marie Katrine Ekeberg, Jarle Hansen</speaker>
<title>javaBin Oslo</title>
<subject>Exploring Kotlin - A Walkthrough for Developers</subject>
<url>https://www.meetup.com/javaBin/events/259560722/</url>
<description>
<![CDATA[
<p>Kotlin is quickly becoming one of the favorite JVM-languages among developers. In this meetup, we'll walk you through the language and its features and show you some of the possibilities that Kotlin gives you. We'll explore how Kotlin differs from Java, its core language features, how you can get started and more!</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-24</startDate>
<endDate>2019-04-24</endDate>
<location>Kitchener, Canada</location>
<speaker>Rahul Dominic</speaker>
<title>Kotlin Waterloo P2P</title>
<subject>Intro to Functional Programming in Kotlin</subject>
<url>https://www.meetup.com/Kotlin-Waterloo-P2P/events/260311888/</url>
<description>
<![CDATA[
<p>Kotlin provides a seamless integration of Object Oriented and Functional styles and is a great tool for getting the best of both worlds. This talk will provide a good opportunity to learn about functional programming as well as how you can achieve neater and more concise code in Kotlin by utilizing its functional abilities.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-25</startDate>
<endDate>2019-04-25</endDate>
<location>Bangalore, India</location>
<speaker>Venkat Subramaniam</speaker>
<title>BlrKotlin - Kotlin User Group</title>
<subject>The Magic of Delegates in Kotlin</subject>
<url>https://www.meetup.com/BlrKotlin/events/260272797/</url>
<description>
<![CDATA[
<p>Very many good books on OO design have advised us to choose delegation over inheritance. Yet, most developers using OO languages like Java use inheritance predominantly compared to delegation. Part of the reason is the lack of support for delegation when compared to inheritance. In this presentation we will see how Kotlin has first class support for delegation. We will look at how delegation helps us better model relationships and take a look at some usecases of applying delegates in Kotlin.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-25</startDate>
<endDate>2019-04-25</endDate>
<location>Bangalore, India</location>
<speaker>Venkat Subramaniam</speaker>
<title>BlrKotlin - Kotlin User Group</title>
<subject>Creating Internal DSLs with Kotlin</subject>
<url>https://www.meetup.com/BlrKotlin/events/260272797/</url>
<description>
<![CDATA[
<p>Domain Specific Languages are quite common: Gradle API, Rake, Ant, CSS, to name a few. Internal DSLs ride on the language capabilities and remove the need to create specific parsers. To serve as a host, however, the language should have top notch fluency and must be highly expressive. In this presentation we will see how Kotlin fits that bill and how to trick the language to creating DSLs.</p>
]]>
</description>
</event>
<event>
<lang>ua</lang>
<startDate>2019-04-25</startDate>
<endDate>2019-04-25</endDate>
<location>Lviv, Ukraine</location>
<speaker>Taras Teslyuk</speaker>
<title>Lviv Kotlin User Group</title>
<subject>Android, Kotlin... What is next? (a brief guide to mobile architecture)</subject>
<url>https://www.meetup.com/Lviv-Kotlin-User-Group/events/260472038/</url>
</event>
<event>
<lang>ua</lang>
<startDate>2019-04-25</startDate>
<endDate>2019-04-25</endDate>
<location>Lviv, Ukraine</location>
<speaker>Oleksandr Sandul </speaker>
<title>Lviv Kotlin User Group</title>
<subject>MotionLayout: створюємо анімацію</subject>
<url>https://www.meetup.com/Lviv-Kotlin-User-Group/events/260472038/</url>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-06</startDate>
<endDate>2019-05-06</endDate>
<location>Munich, Germany</location>
<speaker>Michal Harakal</speaker>
<title>Kotlin User Group Munich - KUG Munich</title>
<subject>Kotlin multiplatform roller</subject>
<url>https://www.meetup.com/Kotlin-User-Group-Munich/events/260445923/</url>
<description>
<![CDATA[
<p>coaster ride or how I've rewritten a conference app over the weekend</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-06</startDate>
<endDate>2019-05-06</endDate>
<location>Munich, Germany</location>
<speaker>Shagen Ogandzhanian</speaker>
<title>Kotlin User Group Munich - KUG Munich</title>
<subject>Kotlin and JS interop, what's next</subject>
<url>https://www.meetup.com/Kotlin-User-Group-Munich/events/260445923/</url>
<description>
<![CDATA[
<p>How to use javascript libraries in Kotlin world</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-06</startDate>
<endDate>2019-05-06</endDate>
<location>Munich, Germany</location>
<speaker>Leonid Popescu</speaker>
<title>Kotlin User Group Munich - KUG Munich</title>
<subject>Hybrid SDKs or how we started with Kotlin/Multiplatform without trashing the existing code base</subject>
<url>https://www.meetup.com/Kotlin-User-Group-Munich/events/260445923/</url>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-04</startDate>
<endDate>2019-05-04</endDate>
<location>Portland, OR, USA</location>
<speaker>Sean Massie</speaker>
<title>Kotlin Portland User Group</title>
<subject>Kotlin, standing on the shoulders of Giants</subject>
<url>https://www.meetup.com/Kotlin-Portland-User-Group/events/ttbqjqyzhbkb/</url>
<description>
<![CDATA[
<p>A discussion on the wonders of Java and what Kotlin has done to build on them.</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-04-25</startDate>
<endDate>2019-04-25</endDate>
<location>Moscow, Russia</location>
<speaker>Anton Korotkikh</speaker>
<title>Kotlin Moscow User Group</title>
<subject>Системы обмена сообщениями в корпоративной архитектуре</subject>
<url>https://www.meetup.com/KotlinMoscow/events/260568502/</url>
<description>
<![CDATA[
<p>— типы систем обмена сообщениями и их применение в ИТ-архитектуре;
— кейсы использования: типовые задачи и их решения на примере внутри Leroy Merlin и других компаниях;
— ошибки и подводные камни, с которыми сталкиваются разработчики.
</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-04-25</startDate>
<endDate>2019-04-25</endDate>
<location>Moscow, Russia</location>
<speaker>Roman Nevolin</speaker>
<title>Kotlin Moscow User Group</title>
<subject>Кому нужен Kotlin на бэкенде и как с ним жить</subject>
<url>https://www.meetup.com/KotlinMoscow/events/260568502/</url>
<description>
<![CDATA[
<p>— зачем использовать Kotlin на бэкенде и как мы работаем с ним в Revolut;
— что происходит, когда Java-разработчикам дают Kotlin, и какие ошибки они при этом совершают;
— как привычную разработку на бэкенде адаптировать под Kotlin, с какими проблемами при этом можно столкнуться и как решать их.</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-04-25</startDate>
<endDate>2019-04-25</endDate>
<location>Moscow, Russia</location>
<speaker>Pavel Yurkin</speaker>
<title>Kotlin Moscow User Group</title>
<subject>Распил монолита в Леруа Мерлен. Наш опыт перехода на микросервисную архитектуру.</subject>
<url>https://www.meetup.com/KotlinMoscow/events/260568502/</url>
<description>
<![CDATA[
<p>Все крупные компании проходят через эту стадию — когда бизнес не хочет по-старому, а монолит не может по-новому. И разбираться с этим нам — простым разработчикам. Приходите послушать, как мы решали эту проблему в Леруа Мерлен, на какие грабли наступили и что у нас получилось в итоге.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-01</startDate>
<endDate>2019-05-01</endDate>
<location>Chicago, USA</location>
<speaker>Matt Moore</speaker>
<title>Chicago Kotlin Users Group</title>
<subject>Mob Programming Kotlin + Kafka</subject>
<url>https://www.meetup.com/Chicago-Kotlin/events/260291045/</url>
<description>
<![CDATA[
<p>Mob programming is a software development approach where the whole team works on the same thing, at the same time, in the same space, and at the same computer.<p>
<p>Come join us for an interactive meet up where we'll have fun digging into Kafka messaging in Kotlin! Kafka is used for building real-time streaming data pipelines that reliably get data between systems or applications.<p>
<p>Using mob programming is a great way to learn from each other and build a small Kotlin project! We hope to see you!</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-01</startDate>
<endDate>2019-05-01</endDate>
<location>Dublin, Ireland</location>
<speaker>Tomás Hanley</speaker>
<title>Dublin Kotlin User Group</title>
<subject>Kotlin Coroutines - Case Study and Lessons Learned</subject>
<url>https://www.meetup.com/Dublin-Kotlin-User-Group/events/260915272/</url>
<description>
<![CDATA[
<p>Asynchronous code can get really messy really quickly. Callback hell was named callback hell for a reason. There are some good ways to avoid this in your design, but sometimes you have to live with some ugly old async API. Maybe because it's provided by a third party, or maybe it's just too difficult to rip out and rewrite. What you can do in this case is to write a Kotlin extension/wrapper on top of the API.</p>
<p>Kotlin Coroutines are a fantastic way to clean up ugly async APIs. They can make your async code as easy to read and understand as sequential code, but give you all the benefits of non blocking async code.
In this session I'm going to show you how I took an ugly asynchronous API and wrote a Kotlin extension on top of it using coroutines and channels to make it super clean and easy to use. I'll also be sharing some of the lessons and best practices we learned along the way.</p>
<p>This is a beginner-friendly event. No previous knowledge of Kotlin is required, however we recommend familiarity with at least another programming language.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-02</startDate>
<endDate>2019-05-02</endDate>
<location>Hamburg, Germany</location>
<speaker>Lovis</speaker>
<title>Kotlin User Group Hamburg</title>
<subject>Microservices with Ktor</subject>
<url>https://www.meetup.com/Kotlin-User-Group-Hamburg/events/260171261/</url>
<description>
<![CDATA[
<p>Ktor is a Kotlin framework for creating web servers (and clients).
Unlike other frameworks, Ktor is written entirely in Kotlin and can therefore use language features such as Coroutines, reified Generics and Extension Functions more effectively.
With little overhead, fast results and good performance, Ktor is especially interesting for microservices.
If you are bored with Spring, you will find what you are looking for here. All others learn at least something new.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-02</startDate>
<endDate>2019-05-02</endDate>
<location>Hamburg, Germany</location>
<speaker>Mathias Düsterhöft</speaker>
<title>Kotlin User Group Hamburg</title>
<subject>Fight cold startup times for Kotlin or Java functions on AWS Lambda using GraalVM and the AWS newly announced Custom Lambda Runtimes</subject>
<url>https://www.meetup.com/Kotlin-User-Group-Hamburg/events/260171261/</url>
<description>
<![CDATA[
<p>In a live-coding session we'll see how a Custom Runtime can be implemented in Kotlin and how we can run our application as a native image that we create with the help of GraalVM</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-08</startDate>
<endDate>2019-05-08</endDate>
<location>Brussels, Belgium</location>
<speaker>Guy Heylens</speaker>
<title>Kotlin Belgium User Group</title>
<subject>Serverside development with Kotlin and ktor</subject>
<url>https://www.meetup.com/Kotlin-User-Group-Belgium/events/259664194/</url>
<description>
<![CDATA[
<p>Do you need a backend for your webapp, Android app or company?
Why not try Kotlin with ktor, it's lightweight, scalable and multiplatform. You can easily build a backend using DSL's and coroutines.</p>
<p>Ktor runs in standard server environments, like Google's App Engine, which will host and scale your backend automatically.</p>
<p>I will guide you through the process of setting up a ktor project, build a small web api and set it up on Docker.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-08</startDate>
<endDate>2019-05-08</endDate>
<location>Brussels, Belgium</location>
<speaker>David Gonzalez</speaker>
<title>Kotlin Belgium User Group</title>
<subject>Building a library for Android and iOS using Kotlin Multiplatform</subject>
<url>https://www.meetup.com/Kotlin-User-Group-Belgium/events/259664194/</url>
<description>
<![CDATA[
<p>Sharing code between platforms is a powerful technique, but it may be hard to accomplish without rich APIs that we have in Android, JVM, or iOS platforms. Kotlin Multiplatform libraries can be used to fix that, bringing rich APIs directly in the common Kotlin code.</p>
]]>
</description>
</event>
<event>
<lang>pt</lang>
<startDate>2019-05-09</startDate>
<endDate>2019-05-09</endDate>
<location>Lisbon, Portugal</location>
<speaker>Pedro Félix</speaker>
<title>Kotlin Lisboa</title>
<subject>Programação Assíncrona em Kotlin usando Corotinas</subject>
<url>https://www.meetup.com/kotlin-lisboa/events/260820935/</url>
<description>
<![CDATA[
<p>A programação assíncrona assume atualmente importância crescente no desenvolvimento de aplicações distribuídas, onde uma parte significativa do código tem a responsabilidade de coordenar interações com sistemas externos.</p>
<p>É reflexo desta importância a recente introdução do conceito de método/função assíncrona e do operador await nas linguagens C#, JavaScript e Python.</p>
<p>Recentemente a linguagem Kotlin também introduziu mecanismos específicos para a programação assíncrona, contudo optou por seguir um caminho ligeiramente diferente e basear esses mecanismos no conceito de corotina.</p>
]]>
</description>
</event>
<event>
<lang>pt</lang>
<startDate>2019-05-09</startDate>
<endDate>2019-05-09</endDate>
<location>Lisbon, Portugal</location>
<speaker>Francisco Costa e Luís Soares</speaker>
<title>Kotlin Lisboa</title>
<subject>Creating web APIs with Kotlin</subject>
<url>https://www.meetup.com/kotlin-lisboa/events/260820935/</url>
<description>
<![CDATA[
<p>Apresentaremos algumas técnicas e bibliotecas/frameworks importantes na construção de APIs REST com Kotlin. Por exemplo, demonstraremos que poderá facilmente usá-lo com Spring. Pelo caminho, vamos também abordar alguns mitos, truques e dicas.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-07</startDate>
<endDate>2019-05-07</endDate>
<location>Nashville, TN</location>
<speaker>Derek Berner</speaker>
<title>Nashville Java Users' Group</title>
<subject>Intro to Kotlin</subject>
<url>https://www.meetup.com/nashvillejug/events/260891118/</url>
<description>
<![CDATA[
<p>Kotlin is JetBrain's alternative language on the JVM that has been surging in popularity. Come for an introduction into the language as we'll walk through the basics of the language and see more complex examples.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-09</startDate>
<endDate>2019-05-09</endDate>
<location>Bucharest, Romania</location>
<speaker>Victor Rentea</speaker>
<title>Bucharest Software Craftsmanship Community</title>
<subject>Kotlin Kindergarten ep #03</subject>
<url>https://www.meetup.com/bucharest-software-craftsmanship-community/events/260741997/</url>
<description>
<![CDATA[
<p>Sick of Java? Let’s try Kotlin : probably the next de-facto standard for Android apps, and a cool compact language to write your JUnit tests in.</p>
<p>Victor will broadcast 1 hour of live-coding playing around with Kotlin.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-05-14</startDate>
<endDate>2019-05-14</endDate>
<location>Copenhagen, Denmark</location>
<speaker>Zahid Rasheed</speaker>
<title>Kotlin Copenhagen</title>
<subject>DSLs in Kotlin</subject>
<url>https://www.meetup.com/Kotlin-Copenhagen/events/260276351/</url>
</event>
<event>
<lang>fr</lang>
<startDate>2019-05-14</startDate>
<endDate>2019-05-14</endDate>
<location>Lyon, France</location>
<speaker>Martial Maillot</speaker>
<title>Lyon Kotlin User Group</title>
<subject>La programmation orienté objet en Kotlin </subject>
<url>https://www.meetup.com/Lyon-Kotlin-User-Group/events/rrxsqqyzhbsb/</url>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-05</startDate>
<endDate>2019-04-05</endDate>
<location>Bangalore, India</location>
<speaker>Kumar</speaker>
<title>ThoughtWorks Bangalore</title>
<subject>Kotlin Hiring Bootcamp</subject>
<url>https://www.meetup.com/ThoughtWorks-Bangalore/events/259557625/</url>
<description>
<![CDATA[
<p>This 2-day workshop would be a hands-on session to explore Kotlin using different programming paradigms such as functional, reactive etc. The idea is to come together, brainstorm and learn a new programming language!</p>
]]>
</description>
</event>
<event>
<lang>pl</lang>
<startDate>2019-03-21</startDate>
<endDate>2019-03-21</endDate>
<location>Rzeszów, Poland</location>
<speaker>Artur Skowroński</speaker>
<title>Rzeszów Java User Group</title>
<subject>TBC - multithreading with Project Loom and Kotlin's Coroutines</subject>
<url>https://www.meetup.com/Rzeszow-Java-User-Group/events/qmvrdpyzfbrb/</url>
<description>
<![CDATA[
<p>Both Java and Kotlin are languages that are heavily used in Distributed Systems, handling multiple asynchronous operations simultaneously. Blocking is not an option in such an environment, but let’s be honest, we crave for the easier synchronous world. That’s why JVM as a platform has an inherent focus on providing an easier option of multithreaded programming. Today, I’d like to compare two of such options - Kotlin Coroutines and Project Loom, that want to provide fibers and continuations to core Java.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2019-04-03</startDate>
<endDate>2019-04-03</endDate>
<location>Karlsruhe, Germany</location>
<speaker>Anton Kostanjsek</speaker>
<title>Kotlin Karlsruhe User Group</title>
<subject>Kotlin and the Chrono24 Android-app</subject>
<url>https://www.meetup.com/Kotlin-Karlsruhe-User-Group/events/259757223</url>
<description>
<![CDATA[
<p>- History
- Concept and architecture
- Rewrite: Challenges/Kotlin specific benefit</p>
]]>
</description>
</event>
<event>
<lang>fr</lang>
<startDate>2019-05-15</startDate>
<endDate>2019-05-15</endDate>
<location>Valbonne, France</location>
<speaker>Emmanuel Vinas</speaker>
<title>Riviera Dev 2019</title>
<subject>Deep Dive Kotlin:Du Hello World AU Bytecode</subject>
<url>https://rivieradev.fr/session/615</url>
<description>
<![CDATA[
<p>-Comment aborder un nouveau langage? Les uns répondent en codant, les autres en regardant son fonctionnement en détail. Dans ce 'Deep Dive' nous vous proposons les deux ! Quoi de mieux qu'un live-coding d'un exercice complet pour découvrir les idiomes du langage. Puis en regardant sous le capot, les fonctionnalités que nous n'avons pas (encore) en Java, ne resteront plus un mystère pour vous !</p>
]]>
</description>
</event>
<event>
<lang>ru</lang>
<startDate>2019-04-23</startDate>
<endDate>2019-04-23</endDate>
<location>Moscow, Russia</location>
<speaker>Vitaly Bragilevsky</speaker>
<title>Apps Conf 2019</title>
<subject>Не морочьте мне голову со своим функциональным программированием</subject>
<url>http://appsconf.ru/moscow/2019/abstracts/4419</url>
<description>
<![CDATA[
<p>-Адепты функционального программирования очень любят завлекать неопытных программистов обещаниями идеальной выразительности кода, его стопроцентной корректности, лёгкости поддержки и простоты рефакторинга. Иные даже пророчат высочайшую производительность и попадание после смерти напрямую в райские кущи. Опытные разработчики знают, что ничего такого не бывает, программирование — это тяжёлый труд, а серебряные пули, может, и помогают от вампиров, но никак не в процессе разработки ПО. С другой стороны, если что-то может хоть как-то облегчить труд программиста, то почему бы не попробовать этим чем-то воспользоваться?</p>
<p>-В своём докладе я сформулирую основные элементы функционального стиля программирования, приведу примеры их воплощения в коде на двух языках - Swift и Kotlin, а также попытаюсь предложить прагматичный подход к их применению. Разработчики этих языков прекрасно знакомы с функциональным программированием, поэтому они смогли сделать удобным его применение «в малом», предусмотрев все необходимые компоненты. Причём чем дальше, тем качественнее и полнее соответствующая поддержка реализуется.</p>
]]>
</description>
</event>