Kotlin by JetBrains
Kotlin by JetBrains
  • 366
  • 3 586 236
Kotlin Multiplatform Alchemy: Making Gold out of Your Swift Interop | Pamela Hill
Recording brought to you by American Express. americanexpress.io/kotlin-jobs
Now that Kotlin Multiplatform has reached Stable, the technology is ready to be adopted and deployed into production. However, one aspect frequently causes irritation in the mobile use case: Kotlin/Swift interoperability. This issue often leads to compromise on one or both sides, with solutions that are not idiomatic in either language. So how can this be mitigated, if not completely resolved?
In this talk, I will focus on the current state of Kotlin/Swift interoperability and the limitations you can expect to encounter when developing your Kotlin Multiplatform apps. I will share tips and tricks on making Kotlin Multiplatform APIs that will make your team's integration code shine. I will also explain JetBrains' exciting plans for improving Kotlin/Swift interoperability.
Join the session to discover how to turn your interop difficulties into Multiplatform gold!
Переглядів: 1 977

Відео

Kotlin + Power-Assert = ❤️ | Brian Norman
Переглядів 3,5 тис.2 години тому
Recording brought to you by American Express. americanexpress.io/kotlin-jobs Kotlin 2.0 will ship with a new, experimental, compiler plugin that enables power-assert style diagrams on assert calls. But I hear you asking: What are power-assert diagrams? How do I use this compiler plugin? What about other function calls? Well have I got answers for you! Join me to see how the power-assert compile...
Have your Serverless Kotlin Functions and Eat Them Too | Andrew O'Hara
Переглядів 2,7 тис.4 години тому
Recording brought to you by American Express. americanexpress.io/kotlin-jobs It’s a sad reality that JVM functions have poor cold-start performance on serverless platforms, like AWS Lambda. You may have been tempted to compile your jar to a native image, or to pay extra to keep your functions warm. You may have decided that serverless is only suited to asynchronous tasks without latency require...
Free the world from wasteful scheduling with Timefold AI | Geoffrey De Smet
Переглядів 1,8 тис.7 годин тому
Recording brought to you by American Express. americanexpress.io/kotlin-jobs Timefold Solver is an open source library to optimize planning and scheduling problems. It's the continuation of OptaPlanner. The world is full of planning problems, such as vehicle routing, employee rostering, maintenance scheduling, job shop scheduling and school timetabling. They are “NP-hard”. That’s math speak for...
Tap it! Shake it! Fling it! Sheep it! - The Compose Gesture Animations Dance! | Nicole Terc
Переглядів 2,3 тис.9 годин тому
Recording brought to you by American Express. americanexpress.io/kotlin-jobs Let's have fun with animations, gestures and sensors! Using Compose Multiplatform, we'll go over how to create animations using gestures and sensor events for Android & iOS. We'll cover some basics like how to get the device motion and position information, how to track gestures in the screen, and how you can combine t...
Simplifying Kotlin Build Configuration with Amper | Márton Braun
Переглядів 4,2 тис.12 годин тому
Recording brought to you by American Express. americanexpress.io/kotlin-jobs Join us for a tour of Amper, a new build and project configuration tool from JetBrains, designed to make Kotlin project tooling approachable for everyone. With its declarative approach, Amper can provide a great user experience and intelligent IDE support for setting up your projects. This lets you spend less time on m...
Evolving Compose Multiplatform on iOS and Beyond | Sebastian Aigner
Переглядів 4,7 тис.14 годин тому
Recording brought to you by American Express. americanexpress.io/kotlin-jobs New flagship features are landing in Compose Multiplatform: common previews, common resources, common lifecycle, common navigation, and further updates for the iOS and target and beyond!
Why we can't have nice things in Kotlin | Vsevolod Tolstopyatov
Переглядів 10 тис.16 годин тому
Recording brought to you by American Express. americanexpress.io/kotlin-jobs Have you ever wondered what challenges Kotlin standard libraries encounter? How is the new API affected by insect collection in 1800s and trade routes with Australia? What twitter polls have to do with Kotlin compiler not working in Turkey? Or maybe how the missing alarm makes us add a new parameter to a function? In m...
KotlinConf’24 Keynote Snippets: Upcoming Language Features
Переглядів 1,8 тис.19 годин тому
Recording brought to you by American Express. americanexpress.io/kotlin-jobs KotlinConf'24 was filled with lots of updates and announcements. Here are keynote snippets on upcoming language features. Check out Mikhail's talk on language features - ua-cam.com/video/tAGJ5zJXJ7w/v-deo.html #kotlin #kotlinconf
Kotlin Language Features in 2.0 and Beyond - Michail Zarečenskij
Переглядів 13 тис.19 годин тому
Recording brought to you by American Express. americanexpress.io/kotlin-jobs This talk will provide an overview of the enhancements and additions in Kotlin 2.0, including the new control flow engine and frontend intermediate representation and how it helps with language consistency. We will also discuss the long-term vision for Kotlin, focusing on how the upcoming language features, such as con...
Finding Developer Joy with KMP | KotlinConfersations'24
Переглядів 2,1 тис.День тому
Join us for an insightful conversation with Meike Felicia Hammer at KotlinConf'24. Discover her journey from iOS to Android and her passionate embrace of Kotlin for multiplatform development. She shares experiences with Jetpack Compose, discusses the transition from Xamarin to Kotlin Multiplatform (KMP), and explores the challenges and joys of building cross-platform applications. Meike Felicia...
Hacking Sony Cameras with Kotlin | KotlinConfersations'24
Переглядів 2,4 тис.День тому
In this episode of Kotlin Conversations, we sit down with Rahul, a software engineer from Google's Android X Performance Team, at KotlinConf 2024. Rahul shares his journey of discovering Kotlin while at Amazon, his passion for enhancing Sony camera apps, and how he used Compose Multiplatform to create a custom remote trigger. Dive into Rahul's fascinating hacking story, his experiences with Kot...
Kord: Deep Dive into the Discord API | Talking Kotlin #132
Переглядів 2,3 тис.День тому
Join us for an in-depth conversation with Michael Rittmeister and Luca Kellermann, the brains behind Kord, a Kotlin library designed for interacting with the Discord API. In this episode, we dive into the complexities of the Discord API, the importance of WebSockets, and the challenges and strategies in building and maintaining a modularized library. We also explore the future of Kord, includin...
Google Summer of Code with Kotlin Foundation | KotlinConfersations'24
Переглядів 80714 днів тому
Join us in this episode of KotlinConfersations, where we dive into the world of Google Summer of Code (GSoC) with special guests Oleg Nenashev and Ksenia Shneyveys. Discover the ins and outs of one of the world's most popular open-source internship programs, learn about the experiences of mentors and students, and find out how you can get involved. Whether you're a student looking to contribute...
Annyce Davis on Kotlin Multiplatform & Leadership | KotlinConfersations'24
Переглядів 87414 днів тому
Annyce Davis on Kotlin Multiplatform & Leadership | KotlinConfersations'24
Exploring Kotlin Multiplatform with KMP Contest Winners | KotlinConfersations'24
Переглядів 2,3 тис.14 днів тому
Exploring Kotlin Multiplatform with KMP Contest Winners | KotlinConfersations'24
Ross Tate on Programming Languages & Kotlin's Success | KotlinConfersations'24
Переглядів 1,1 тис.14 днів тому
Ross Tate on Programming Languages & Kotlin's Success | KotlinConfersations'24
Exploring JetBrains AI with Vladislav Tankov | KotlinConfersations'24
Переглядів 1,1 тис.14 днів тому
Exploring JetBrains AI with Vladislav Tankov | KotlinConfersations'24
Arrow 2.0 and Concurrency Secrets with Simon Vergauwen | KotlinConfersations'24
Переглядів 3,7 тис.21 день тому
Arrow 2.0 and Concurrency Secrets with Simon Vergauwen | KotlinConfersations'24
Solving Real-Life Scheduling Problems with Ai and Kotlin | KotlinConfersations'24
Переглядів 2,1 тис.21 день тому
Solving Real-Life Scheduling Problems with Ai and Kotlin | KotlinConfersations'24
Creative Coding Insights with Edwin Jacobs | KotlinConfersations'24
Переглядів 1,8 тис.21 день тому
Creative Coding Insights with Edwin Jacobs | KotlinConfersations'24
Exploring Kotlin Notebooks with Maia Grotepass | KotlinConfersations'24
Переглядів 2,2 тис.28 днів тому
Exploring Kotlin Notebooks with Maia Grotepass | KotlinConfersations'24
The Missing Library of the Compose Multiverse | Talking Kotlin #130
Переглядів 4 тис.3 місяці тому
The Missing Library of the Compose Multiverse | Talking Kotlin #130
Kotlin Foundation | Talking Kotlin #129
Переглядів 3,8 тис.4 місяці тому
Kotlin Foundation | Talking Kotlin #129
Network-Resilient Applications with Store5 | Talking Kotlin #128
Переглядів 6 тис.6 місяців тому
Network-Resilient Applications with Store5 | Talking Kotlin #128
Coil Goes Multiplatform with Colin White | Talking Kotlin #127
Переглядів 7 тис.6 місяців тому
Coil Goes Multiplatform with Colin White | Talking Kotlin #127
http4k Chronicles | Talking Kotlin #126
Переглядів 4,4 тис.7 місяців тому
http4k Chronicles | Talking Kotlin #126
KMPizza with Lena Stepanova | ATOM Podcast
Переглядів 5 тис.7 місяців тому
KMPizza with Lena Stepanova | ATOM Podcast
What's new in Kotlin 1.9.20
Переглядів 16 тис.7 місяців тому
What's new in Kotlin 1.9.20
Kotlin Notebook: Visual, Interactive, Fun | Kotlin Notebook Tutorial
Переглядів 22 тис.8 місяців тому
Kotlin Notebook: Visual, Interactive, Fun | Kotlin Notebook Tutorial

КОМЕНТАРІ

  • @vengateshm2122
    @vengateshm2122 47 хвилин тому

    Well organized content. Insightful. This show how much efforts you invest in ideating solutions to the problems and choosing the better one which make life easier for developers. Thanks for sharing your journey on Swift/Kotlin interop.

  • @kienvu4690
    @kienvu4690 2 години тому

    Hidden message: Apple always make the game x2 harder for us dev 😂

  • @cpepos
    @cpepos 3 години тому

    wow, and this is just the start of K2 😮

  • @user-rd2ox1dl1k
    @user-rd2ox1dl1k 4 години тому

    its not 100 % kotlin it dosnt support google google map yet!

  • @ondrejbendo9036
    @ondrejbendo9036 6 годин тому

    What IDE is he using?

    • @cpepos
      @cpepos 2 години тому

      Fleet I believe

    • @ondrejbendo9036
      @ondrejbendo9036 Годину тому

      @@cpepos Look like it, thanks

  • @jokeyrhyme
    @jokeyrhyme 10 годин тому

    Will Kotlin ever have compiler-enforced thread-safety, like Swift and Rust?

  • @Asakura95Hao
    @Asakura95Hao 16 годин тому

    I don't know how many thanks you have, so I want to THANK YOU sincerely FOR YOUR WORK. I genuinely appreciate it. Please don't stop.

  • @yuriibezhevets988
    @yuriibezhevets988 16 годин тому

    Great session! ❤️ However, I’m quite disappointed that JetBrains is trying to bring the Java world to the Apple ecosystem. It seems so complicated and limited, especially when Swift is becoming more robust and elegant. Let’s see what Swift interop will ultimately offer us.

  • @grzegorzhankiewicz9169
    @grzegorzhankiewicz9169 19 годин тому

    Is there anywhere a checklist of features Swift Export will support so as to know if investing code into the async community tools is worthwhile?

  • @RachidKamili-vt4us
    @RachidKamili-vt4us 19 годин тому

    nice session!!

  • @_deathcry
    @_deathcry День тому

    Great talk and presentation, but regarding topic itself - it feels like people are inventing a solution for a problem that exists only in their own minds. I mean - i'm a huge fan and ambassador of Kotlin myself and use it as a primary tool in everyday job, and sad truth is that JVM languages are simply not meant for this kind of use in cloud. Some side thoughts - I often see that people don't even know themselves why they choose to go with cloud. If I want fast and cheap way to process requests/data - I simply make an app, pack it into .jar file[, pack into docker] and launch it on some Contabo or alike hosting that provides you a cheap VPS(like 4 cores, 6 GB of ram and 100GB NVM for 6$ a month). I honestly can't understand why people think that those cloud functions are easier. Having all that cold start head ache, compiled java limitations and other shenanigans? You say that's easier than writing `java -jar app.jar` or `docker compose up -d` in a ssh terminal? You want to dynamically scale up to the demand? From what I see it's better to have a VPS that sits at 10-20% CPU utilization - it is still a lot cheaper than those cloud functions and your bill has 0% probability to make you homeless. Really need to scale? If money is no problem - setup a complete and automated kubernetes cluster that will do all of that, if you are some enthusiast, then simply order another VPS, write 3 commands to install docker and launch 1 more instance of your app, and put round-robin dns in your Cloudflare, or if you need more stable distribution of load - setup a simple nginx load balancer.

  • @skarloti
    @skarloti День тому

    That's amazing, but I'd rather not see the word Java. When will it be possible to do tests on pure Kotlin?

  • @eatthepi
    @eatthepi День тому

    This technology is indistinguishable from magic!

  • @ArthurKhazbs
    @ArthurKhazbs День тому

    Wow. I guess now there is no excuse to not write tests. Thank you, Power-Assert!

  • @krellin
    @krellin День тому

    This is awesome, not just for test set but in main as well. I like to have a const val DEBUG boolean value that will do compiler time code elimination for all assertions in main code. This would let it print really useful fast fail errors when running in dev, and get rid of all that magic in prod.

    • @Amejonah
      @Amejonah День тому

      Yes, a dev/release build system would be really nice!

    • @krellin
      @krellin День тому

      @@Amejonah no its already in the language, if you define a final bool DEBUG and put some if statements behind that flag, then if its false at compile time then all those assertions behind those ifs just go away from the bytecode entirely... that allows you to enable or disable assertions depending on environment and have it completely erased from the bytecode if you desire performance...

  • @kino_cinante
    @kino_cinante День тому

    If you are using thinking of using severless for internal work that is not latency sensitive why not just go straight for a monolith with queues...

  • @oharaandrew314
    @oharaandrew314 День тому

    Thanks for having me, JetBrains! Let's do this again next year.

  • @freesources6872
    @freesources6872 2 дні тому

    you already defined val scale and how is it possible to write scale = newscale. val cannot be reassigned right ? is it any new updation change from kotlin?

    • @stijndcl
      @stijndcl День тому

      No that wouldn't be possible, it's just a typo in the slide

  • @suhuy2008
    @suhuy2008 2 дні тому

    Looks impressive until you realize that Go and Rust are 20ms, still 10x faster. Maybe Kotlin native can be comparable to Go when it supports AWS SDK and lambdas.

    • @robchr
      @robchr День тому

      Pressing x to doubt without some real world benchmarks for these claims. Maybe Rust can startup that fast but even Go has overhead.

  • @Kiet1
    @Kiet1 2 дні тому

    good talk

  • @snakehound7678
    @snakehound7678 2 дні тому

    Thank you for your awesome talk.

  • @mohammadkarami8077
    @mohammadkarami8077 2 дні тому

    Thanks a lot man ❤ U did great

  • @b0roovka
    @b0roovka 2 дні тому

    Really nice talk :)

  • @gekylafas
    @gekylafas 2 дні тому

    This guy has given one of the best presentations I have ever seen, "Untangling Coroutine Testing", when he was still at Google. He's now working for Jetbrains and if he is an advocate of Amper, I am listening...

  • @SvenObser
    @SvenObser 2 дні тому

    Nice to see a familiar face at the KotlinConf! Well done, Nicole.

  • @wayluke
    @wayluke 3 дні тому

    I really want to use kotlin or kotlin/native to replace javascript in web, and rust in wasm/wasi/system layer, so coooooool

  • @nasserabbassi7303
    @nasserabbassi7303 3 дні тому

    indeed a must have plugin

  • @stefanusayudha1853
    @stefanusayudha1853 3 дні тому

    How to make convention on amper?

  • @stefanusayudha1853
    @stefanusayudha1853 3 дні тому

    why? new layer of knowlege problem?

  • @Hayabusa17
    @Hayabusa17 3 дні тому

    Thanks, I start desktop app today

  • @Quillraven
    @Quillraven 3 дні тому

    Haha 🤣

  • @borislavvelchev7275
    @borislavvelchev7275 3 дні тому

    Great! Keep going! Great job! We should get rid of the flutter and react nonsenses

  • @kienvu4690
    @kienvu4690 4 дні тому

    And uncle Bob said that it's better than having ambiguous name and a comment describing it.

  • @mohsenoid
    @mohsenoid 4 дні тому

    Sheeps everywhere 🐑 Great talk by Nicole 👌

  • @hitesh_baghel
    @hitesh_baghel 4 дні тому

    😂😂

  • @phenanrithe
    @phenanrithe 4 дні тому

    It still seems to be based on that super-heavy Gradle.

  • @music-addict
    @music-addict 4 дні тому

    🤣🤣🤣

  • @dansadventures5514
    @dansadventures5514 4 дні тому

    This looks awesome but I'm not a fan of YAML (or similar formats like TOML)

  • @thedeemon
    @thedeemon 4 дні тому

    Daylight Saving Time adds more light time to evenings in summer, not in winter. It makes winter days go dark earlier. At least in northern hemisphere. I never thought about how it works in New Zealand. I guess it's much crazier there.

  • @sadekhossainnishat5083
    @sadekhossainnishat5083 4 дні тому

    Wow beautiful mam 💕❤

  • @morbix3683
    @morbix3683 4 дні тому

    I didn't know keynotes like this can be enjoyable. Great job Sebastian!

  • @RexTorres
    @RexTorres 5 днів тому

    He knows his stuff.

  • @TheRRJShow
    @TheRRJShow 5 днів тому

    where are the Flutter developers?

  • @cod3r1337
    @cod3r1337 5 днів тому

    Saw YAML and lost interest ...

    • @MartonBraunJB
      @MartonBraunJB 5 днів тому

      We have heard the feedback about YAML, and it's not a final language choice for Amper. If you have more thoughts about what you don't like about YAML and what else you'd like to see instead, please share them in the Slack channel!

  • @Fletcher91
    @Fletcher91 5 днів тому

    Will be great to see this evolve the Kotlin ecosystem. Now only a good, rich, and intuitive site like rubygems or crates remains. No more xml, groovy, deprecated api's, clean, nor 10 ways to do the same thing.

  • @jt_hopp
    @jt_hopp 5 днів тому

    But why?

    • @berkowk
      @berkowk 5 днів тому

      Gradle sucks. 😢

    • @cod3r1337
      @cod3r1337 5 днів тому

      ​​@@berkowk Except YAML sucks even more. Gradle was such a step up from Maven because it has a compact DSL based on a proper programming language rather than having to work around the limitations of a purely declarative language like XML. Moving to YAML in some ways feels like going back to Maven. Except that YAML, while being much less verbose, is in some ways even worse than XML. At least XML is whitespace insensitive and has much better support for schema validation. Have you ever wasted an entire day tracking down a weird configuration error that was caused by wrong indentation in some YAML config that you couldn't figure out because your editor decided mixing tabs and spaces in whitespace-sensitive markup sounds like a great idea? Congratulations, you learned to love XML again.

    • @berkowk
      @berkowk 5 днів тому

      @@cod3r1337 I actually feel nostalgic for maven, sometimes more freedom leads to more pain. Some smartass at my current job decided to split flavor/module/dependencies logic between custom plugin, buildSrc and build.gradle.kts files. AS can't even recognize Gradle files now 😂

    • @Mglunafh
      @Mglunafh 5 днів тому

      ​​@@berkowkmy condolences 😢 Maven definitely introduced a lot of useful concepts for its time which helped in the adoption e.g. standard project layout (src/main/java/ - src/main/resources/ - src/test/java/ - target/ - etc) and more manageable dependency management. The restrictions it provided compared to Ant were actually helpful in developing applications

    • @MartonBraunJB
      @MartonBraunJB 5 днів тому

      @@cod3r1337 We have heard the feedback about YAML, and it's not a final language choice for Amper. If you have more thoughts about what you don't like about YAML and what else you'd like to see instead, please share them in the Slack channel!

  • @vighnesh153
    @vighnesh153 5 днів тому

    In a way, feels similar to Google's Bazel. I would love to try this out in a new project from scratch (without the gradle overhead).

  • @dmitriyobidin6049
    @dmitriyobidin6049 5 днів тому

    iOS native devs are obsolete now? Amazing, spent 5 months learning new skill just to find out that it will be useless in the future...

  • @marcelbro
    @marcelbro 5 днів тому

    Pretty cool improvements! Great to see iOS support for ViewModels and Navigation and all the other Compose magic.