June 22, 2019 

Meet us at Kotlin/Everywhere

Kotlin/Everywhere is a series of community-led events, in collaboration with JetBrains and Google, where you can learn the essentials and best practices of Kotlin in Android, Google Cloud Platform, and multi-platform development. Kotlin/Everywhere 2019 in ‘Namma’ Bengaluru will be held by the local developer community together with JetBrains in the city of Bengaluru, India.

Our speakers will be giving talks about the usage of Kotlin/Everywhere: on Android, Google Cloud Platform (GCP), multi-platform, and more. In addition to that - you can get hands-on experience with Kotlin from the multiple CodeLabs held at the event.


Can’t make it to Bengaluru?
Take a look at the JetBrains Road Trip India - an event focused on Java, Team Tools, and Kotlin development held by JetBrains in the cities of Delhi and Hyderabad, India. Please note that JetBrains Road Trip India in Delhi and Hyderabad is not a part of the Kotlin/Everywhere event series.

FOR ANY QUESTIONS, CHECK OUT THE FAQ PAGE


Waiting list

We regret to inform you that the event is completely booked. Please complete the waiting list form and we will let you know if any tickets become available.



Agenda

09:00 - 09:30

Registration

09:30 - 10:30

Keynote (Kotlin/Anywhere)

Hadi Hariri

With Kotlin targeting the JVM, Android, and JavaScript, and with Kotlin/Native targeting other platforms such as iOS, macOS, Windows, and Linux, the possibility of targeting multiple platforms with a single project is now a reality. In this talk, we’re going to cover how you can create multi-platform projects with Kotlin, what is provided from the language, and what is available with libraries.

10:30 - 11:00

Break

11:00 - 12:00

Kotlin: Multi-platform

Amrit Sanjeev

Track 1

Learn how you can share parts of your app between mobile platforms (and even the web!) without compromising quality, and delivering a best in class Android experience. During this talk we'll talk about some ideas on how to structure not only your code, but also your teams, I'll show how to implement your own Kotlin MP libraries and showcase a few ones that you can use out-of-the-box.

11:00 - 12:00

Kotlin DSL - let’s express code in "mini-language"

Adit Lal

Track 2

Easy to read and simple to debug code is more within reach today than ever. DSL (Domain specific language) though around for quite some time, it has gained more momentum in the recent times with Kotlin - which provides some powerful language features giving us the advantage of building internal DSLs.
This talk introduces and highlights how we could use Kotlin DSL’s and add to the readability of code by enforcing the use of declarative code with minimal boilerplate, as well as look at why Kotlin is particularly good for DSLs with examples.

  • Why DSLs
    General-purpose languages vs. DSLs Usage of DSLs - Examples of how to use DSLs
  • Why Kotlin
    Being built on top of the core language, Kotlin DSL is considered as an Internal DSL which means that it does not have a syntax on its own, rather it is a library that offers DSL readability by exploiting the language features, in this case, Kotlin.
  • What we will cover
    We will go over some examples of how to build DSL with a few use cases.
  • Kotlin specific features for DSL
  • DSL’s in android code
  • Grade script DSL’s
11:00 - 12:00

Build your first Android app in Kotlin


CodeLabs


12:00 - 13:00

Server-Side Development with Ktor

Hadi Hariri

Track 1


12:00 - 13:00

Building cross-platform libraries with Kotlin

Gopalkrishna P Sharma

Track 2

The introduction of Kotlin Multiplatform has dramatically opened up possible uses of Kotlin. One possibility is to share code between iOS, Android, and Server. This talk is about my experience with building Kotlin Multiplatform libraries. My hope is to allow the audience to decide if Kotlin Multiplatform, as it stands today, would be a good fit for their apps.
I will first talk about how I built a library that implements a reasonably complex algorithm, without dependencies in a relatively quick and painless manner.
Next, using the KotlinConf app as an example, I'll illustrate how you can share significant portions of your business logic between iOS and Android. I'll also point out a few pitfalls along the way.

12:00 - 13:00

Kotlin Coroutines

Amrit Sanjeev

CodeLabs
13:00 - 14:00

Lunch

14:00 - 15:00

Leveraging sealed classes in Kotlin

Sanchita Agarwal

Track 1


14:00 - 15:00

Jetpack Compose — Next Gen Kotlin UI Toolkit for Android

Ragunath Jawahar

Track 2

The Android UI toolkit's API surface has remained the same for the past decade. With applications and UI becoming more and more demanding, we need a new programming model to handle this complexity. With Kotlin bringing in DSLs, functional programming, and compiler plugin capabilities - the Android UI Toolkit team is taking a new direction with Jetpack Compose.

This shift in API design also demands a shift in thinking about UI and app architecture. In this talk, we’ll see how Jetpack Compose is radically different from the existing Android UI framework and look at various examples to build reactive Android apps.

14:00 - 15:00

Run a Spring Boot application on Google Compute Engine


CodeLabs
15:00 - 15:30

Break

15:30 - 16:00

Closing Note

Hadi Hariri

Quiz Competition

Javed Mohamed

17:45 -
18:15
Registration
17:45 -
18:15
Welcome Words
17:45 -
18:15
IntelliJ IDEA-based IDEs Tips & Tricks
Mikhail Vink / Hadi Hariri

An IDE is so much more than an editor, yet people still seem to compare one to another. This session looks at IntelliJ IDEA and shows tips and tricks that will make you a more efficient and productive developer (most of the tips’n’tricks are also applicable to all IntelliJ IDEA-based IDEs, such as WebStorm, PhpStorm, PyCharm, and others). From searching for symbols to having a smooth workflow when working with version control, the presentation examines all the aspects that make it possible to have a pleasurable development experience. You’re guaranteed to leave this session knowing things you probably didn’t even know existed and were afraid to ask whether they did.
17:45 -
18:15
Registration
17:45 -
18:15
Welcome Words
17:45 -
18:15
IntelliJ IDEA-based IDEs Tips & Tricks
Mikhail Vink / Hadi Hariri

An IDE is so much more than an editor, yet people still seem to compare one to another. This session looks at IntelliJ IDEA and shows tips and tricks that will make you a more efficient and productive developer (most of the tips’n’tricks are also applicable to all IntelliJ IDEA-based IDEs, such as WebStorm, PhpStorm, PyCharm, and others). From searching for symbols to having a smooth workflow when working with version control, the presentation examines all the aspects that make it possible to have a pleasurable development experience. You’re guaranteed to leave this session knowing things you probably didn’t even know existed and were afraid to ask whether they did.
15:00 - 16:00

Регистрация, кофе

16:00 - 16:45

Устранение барьеров на пути к продуктивности

Хади Харири, руководитель Developer Advocacy

ENG Java Web

Представьте себе, что всё, что мешает вам разрабатывать софт, вдруг исчезло. Никто не следит за тем, чем вы заняты каждую минуту, в какое время приходите на работу и уходите с нее. Вы предоставлены самому себе. Всё волшебным образом встает на свои места, и ваша продуктивность достигает заоблачных высот. Идеальные условия, не так ли? В JetBrains большинства этих помех не существует. Но работать в отсутствии барьеров, оказывается, не так уж просто. Нельзя устранить все ограничения и надеяться, что рабочие процессы будут протекать сами по себе, без сучка без задоринки. Мы поговорим о преимуществах и недостатках этого подхода и способах решения типичных проблем, возникающих при устранении барьеров (если это вообще возможно).

16:45 - 17:00

Перерыв

17:00 - 17:45

Корутины в Kotlin на сервере

Роман Елизаров, разработчик языка Kotlin

Java

Мы поговорим о традиционных проблемах масштабирования серверных приложений на JVM и о том, как их можно решить с помощью асинхронного кода, который теперь как никогда просто писать благодаря корутинам в Котлине. Мы увидим, как дизайн, основанный на корутинах и структурной многозадачности, позволяет избежать традиционных проблем асинхронного кода, связанных с управлением ресурсами, обработкой ошибок и отменой запросов.

17:00 - 17:45

Как мы разрабатываем WebStorm

Денис Ушаков, руководитель разработки WebStorm
Екатерина Пригара, продакт-менеджер WebStorm

Web

За последние несколько лет JavaScript-экосистема сильно изменилась. Чтобы WebStorm и другие IDE JetBrains были по-настоящему полезны JavaScript-разработчикам, мы не можем не реагировать на эти изменения.

Мы расскажем, как в команде WebStorm мы выбираем, какие языки, фреймворки и инструменты будем поддерживать; как следим за развитием технологий, находим компромиссы и придумываем новые возможности для продукта. Также вы узнаете, как устроена IDE изнутри и как организован процесс ее разработки.

17:45 - 18:00

Перерыв

18:00 - 18:45

Развитие поддержки Java в IntelliJ IDEA: совершенству нет предела

Тагир Валеев, технический руководитель команды поддержки языка Java в IntelliJ IDEA

Java

Проект IntelliJ IDEA начинался как среда разработки для Java, и в настоящее время поддержка этого языка остается одной из лучших на рынке. Казалось бы, за восемнадцать лет развития уже можно было сделать все, остается только поддерживать новые версии языка да исправлять мелкие баги в очень частных случаях. Однако команда поддержки Java постоянно реализует новые улучшения. Я расскажу, что же можно улучшать после стольких лет работы, что мы сделали недавно, и чего еще в поддержке Java нет, но хотелось бы.

Пишем full-stack приложение на Kotlin

Леонид Хачатуров, разработчик

Web

В этом докладе я расскажу о том, как написать full-stack приложение на Kotlin. Мы рассмотрим различные технологии из мира Kotlin, делающие этот язык таким мощным и удобным инструментом: создадим мультиплатформенный проект, переиспользующий код между Kotlin/JVM и Kotlin/JS, напишем фронтенд с помощью удобных DSL для React и CSS и воспользуемся корутинами для клиент-серверного взаимодействия.

18:45 - 19:00

Перерыв, кофе

19:00 - 19:45

Еще больше полезных советов по разработке в IntelliJ IDEA

Триша Ги, Developer Advocate

ENG Java

Хотите знать IDE как свои пять пальцев? Понимать, чем IDE отличается от редактора и как с ее помощью разобраться в семантике ваших приложений? Хотите научиться входить в состояние «потока», использовать имеющиеся инструменты максимально эффективно и продуктивно? Тогда вы обратились по адресу.

Эволюция TypeScript: язык и IDE

Андрей Старовойт, старший разработчик WebStorm

Web

TypeScript продолжает набирать популярность и осуществлять мечту JavaScript-разработчиков о языке с развитой системой типов и знакомым синтаксисом.

Я расскажу, как развивалась система типов в TypeScript и как это повлияло на то, какие возможности в поддержке языка доступны в WebStorm. Покажу интересные рефакторинги и инспекции, которые доступны в WebStorm для TypeScript, и как они могут помочь писать код лучше и быстрее.

19:45 - 20:00

Перерыв

20:00 - 20:45

Вопросы и ответы: открытая дискуссия с командой JetBrains

20:45 - 22:00

Свободное общение

Ab, assumenda consectetur, consequatur cum cumque dolor doloribus laboriosam, laborum perferendis quae quis sunt temporibus vero. Impedit molestias nemo officia quis sint. Amet architecto autem ea, fuga iusto nihil sequi.

Speaking to you

Hadi Hariri
Developer and creator of many things OSS, his passions includes Web Development and Software Architecture. Has authored a couple of books, a few courses and has been speaking at industry events for nearly 15 years. Currently at JetBrains leading the Developer Advocacy team. Spends as much time as he can writing code.
Amrit Sanjeev

https://www.linkedin.com/in/amrit-sanjeev-a4984438
Amrit Sanjeev works at Google as a developer advocate in the partner developer relations team and works with partners in India. He has led multiple programs such as the Google Developers Community (GDG), Google Developers Experts (GDE) and Google Developers Agency Program. Prior to joining Google, he worked for companies including Intuit, Philips, and IBM. He was the first Android GDE from India and actively participates in developer communities.

Sanchita Agarwal
https://www.linkedin.com/in/sanchita-agarwal-b59b1419
Sanchita is an engineer at Obvious, a product design studio. She has been working on Android for 7 years, with strong experience in building apps for healthcare, communication, and mobility space. Her curiosity and knack for solving difficult problems are what got her interested in programming. She enjoys building products that directly impact the day-to-day lives of people. When Sanchita is not busy coding, she loves to read and travel around exploring the world. She loves to experiment with food and particularly fond of seafood.
Gopal Sharma
https://in.linkedin.com/in/gopal-sharma-b36273128
Gopal is the CTO of Surya Digital, an engineering studio dedicated to building great software. He leads teams of iOS, Android, and Server developers. He is passionate about building teams that build scalable and robust software. Prior to joining Surya, he was a software engineer at Apple. Gopal was born here in Bangalore, and he is a 4th generation engineer and coffee enthusiast. When he is not working, he enjoys playing with his dogs, traveling, and photography.
Adit Lal
Adit is an Android Product Engineer at Go-Jek. He is passionate about scaling products in mobile and server. He is also a big Kotlin enthusiast. Adit enjoys tinkering with new tech. He lives in Bangalore, though he is native to Delhi, India. Some of his hobbies are stargazing, travel, and landscape photography.

Ragunath Jawahar
Ragunath is a Lead Product Engineer working with Obvious (previously called Uncommon Bangalore), a prominent design studio that has worked with several unicorn startups in India. He specializes in mobile app architectures, workflow optimization and test-driven development. He has a knack for building awesome teams and believes that "you are only as good as the team you build." You'll find him constantly pushing himself to explore new programming paradigms, workflows, tools, and techniques. He is allergic to complexity and loves building tools and libraries that make life easier for him and fellow.

Partners

User Groups:
  • JUG Bengaluru
  • GDG Bengaluru
  • BlrKotlin
  • JSLovers
  • GirlScript
  • BlrDroid
Bangalore_JUG.jpeg   GDG_Bengaluru.jpegBLR DROID logo.png BlrKotlin_UG.jpeg  JSLovers.jpg    GirlsScript logo.png   
The event is organized by JetBrains and its partners and affiliates in India.

Should you have any questions or suggestions, please reach out to us via email [email protected]