Kotlin으로 코딩을 하는 모든 학생과 최근 졸업생을 초대합니다! 미래를 만드는 데 도움이 될 기술로 Kotlin Multiplatform 프로젝트를 빌드하여 여러분의 창의력을 뽐내보세요. 콘테스트에 제출한 프로젝트가 상위 3위 안에 들면 내년에 개최될 Kotlin 행사인 KotlinConf’23에 참가할 수 있는 기회가 주어집니다. 모든 비용은 Kotlin Foundation에서 부담합니다!
Calling all students and recent graduates who love to code in Kotlin! Showcase your creativity by building a Kotlin Multiplatform project using the technology that will help shape the future. If your entry makes it into the top 3, you’ll win a trip to KotlinConf’23, the Kotlin event of the year, with all expenses paid courtesy of the Kotlin Foundation!
You must be enrolled in an accredited educational program that takes one or more years of full-time study to complete, or have graduated within the last 6 months.
Your project must use Kotlin Multiplatform and run on at least two different platforms. While Android and iOS are permitted, you can also look for more interesting and inspiring options.
The project can be on any topic of your choice. We’ll judge it based on the creativity of your idea and how it is reinforced by Kotlin Multiplatform.
The project must be individual. It’s fine to use other open-source projects, but each project must have a single author.
Prizes
Each of 3 winners will get an all-expenses-paid KotlinConf’23 participant package, which includes travel, accommodation, and cool Kotlin swag.
Not only that, but everyone who submits a working application will receive neat prizes, too!
Calling all students and recent graduates who love to code in Kotlin! Showcase your creativity by building a Kotlin Multiplatform project using the technology that will help shape the future. If your entry makes it into the top 3, you’ll win a trip to KotlinConf’23, the Kotlin event of the year, with all expenses paid courtesy of the Kotlin Foundation!
You must be enrolled in an accredited educational program that takes one or more years of full-time study to complete, or have graduated within the last 6 months.
Your project must use Kotlin Multiplatform and run on at least two different platforms. While Android and iOS are permitted, you can also look for more interesting and inspiring options.
The project can be on any topic of your choice. We’ll judge it based on the creativity of your idea and how it is reinforced by Kotlin Multiplatform.
The project must be individual. It’s fine to use other open-source projects, but each project must have a single author.
Prizes
Each of 3 winners will get an all-expenses-paid KotlinConf’23 participant package, which includes travel, accommodation, and cool Kotlin swag.
Not only that, but everyone who submits a working application will receive neat prizes, too!
Avis à tous les étudiant·e·s et jeunes diplômé·e·s qui aiment coder en Kotlin : le concours Kotlin Multiplatform est l’occasion de montrer votre créativité en réalisant un projet Kotlin Multiplatform innovant et si votre projet arrive dans le top 3, vous pourrez assister gratuitement à la KotlinConf’23, l’événement Kotlin de l’année ! La Fondation Kotlin vous offre votre place pour la conférence et prend en charge vos frais de voyage et d’hébergement.
Vous devez être actuellement inscrit·e à un cursus d’études à temps plein accrédité et d’une durée d’1 an minimum ou avoir obtenu votre diplôme au cours des six derniers mois.
Vous ne pouvez présenter qu’un seul projet.
La date limite de dépôt des candidatures est le 13 janvier 2023.
Votre projet doit utiliser Kotlin Multiplatform et fonctionner sur au moins deux plateformes différentes. Android et iOS sont autorisés mais nous vous invitons à rechercher également d’autres options.
Le projet peut porter sur le sujet de votre choix. Nous l’évaluerons en prenant en compte l’originalité de votre idée et la façon dont elle est renforcée par Kotlin Multiplatform.
Le projet doit être individuel. Il est possible d’utiliser d’autres projets open source mais chaque projet doit avoir un seul auteur.
Prix
Chacun des trois gagnant·e·s recevra un forfait de participation à la KotlinConf’23 tous frais payés comprenant la place pour la conférence, le voyage et l’hébergement, ainsi que des goodies Kotlin.
Nous avons aussi prévu d’autres prix sympas pour récompenser les candidat·e·s qui auront proposé une application opérationnelle !
Pensez également à rejoindre la communauté Kotlin Multiplatform dans le canal Slack #multiplatform pour poser des questions et faire connaissance avec d’autres participant·e·s.
Bonne chance ! Nous avons hâte de découvrir vos projets !
Kotlin’de kodlama yapmayı seven tüm öğrencileri ve yeni mezunları davet ediyoruz! Geleceği şekillendirmeye yardımcı olacak teknolojiyi kullanarak geliştireceğiniz Kotlin Multiplatform projesiyle yaratıcılığınızı sergileyin. Projeniz ilk 3’e girerse yılın en önemli Kotlin etkinliği olan KotlinConf’23 konferansına katılmaya hak kazanacaksınız ve tüm masraflarınız Kotlin Foundation tarafından karşılanacak!
Katılabilmek için 18 yaşını doldurmuş olmanız gerekir.
Bir yıllık veya daha uzun süren bir akredite edilmiş eğitim programına kayıtlı olmanız ya da benzer bir programdan son 6 ay içinde mezun olmanız gerekir.
Projeniz için Kotlin Multiplatform’u kullanmalısınız ve en az iki farklı platformda çalıştırmalısınız. Android ve iOS’a izin verilir, ayrıca daha ilgi çekici ve ilham verici seçenekler bulmakta da serbestsiniz.
Proje, dilediğiniz bir konuyla ilgili olabilir. Değerlendirirken göz önünde bulunduracağımız kriter, fikrinizin yaratıcılığı ve Kotlin Multiplatform’u nasıl kullandığınız olacak.
Proje bağımsız bir şekilde yürütülmelidir. Diğer açık kaynak projelerini kullanabilirsiniz, fakat her projenin tek yazarı olmalıdır.
Ödüller
Kazanan 3 adayın her birine KotlinConf’23 etkinliği için tüm seyahat ve konaklama masraflarının karşılandığı katılım paketi hediye edilecek. Pakette ayrıca harika bir Kotlin promosyon paketi yer alacak.
Çalışan bir proje gönderen tüm katılımcılara da değerli hediyeler sunulacak!
Soru sorabileceğiniz ve diğer yarışmacılarla tanışabileceğiniz #multiplatform Slack kanalımızdaki Kotlin Multiplatform topluluğumuza da katılabilirsiniz.
İyi şanslar! Başvurularınızı almak ve uygulamalarınızı denemek için heyecanla bekliyoruz!
Introducing Multik 0.2.0! Now a multiplatform library, it allows you to use multidimensional arrays in your favorite multiplatform projects. Let’s take a closer look at what’s new in v0.2.0.
We are very grateful to Luca Spinazzola for his huge contribution to the multiplatform capabilities included in this release of the library.
Before we move on to reviewing Multik’s new multiplatform structure, we need to say a few words about the new naming conventions. Ever since we multiplied the number of artifacts and added platform suffixes, such as jvm, macosx64, js, and others, there have been collisions with older names. To solve this problem, we’ve renamed some of the modules.
Let’s reacquaint ourselves with the modules and get a sense of which platforms each module now supports.
multik-core
As the name suggests, this is the main module providing multidimensional arrays and the ability to perform transformations, iteration, and arithmetic operations with them. This module also provides an API for calculations that require complex algorithms and resources. Now there are three types of such APIs: mathematics, linear algebra, and statistics. Other modules are responsible for the implementation of this API. Remember – Multik lets you replace these implementations at runtime.
We have added support for all major platforms for this module. Note that JavaScript uses a new IR and Kotlin/Native uses a new memory model, so these artifacts will only be compatible with projects that support them.
The first module that implements the above API is multik-kotlin. In this module, all algorithms and logic are written in pure Kotlin. Even though it may be slower than native libraries, it provides more stability and allows for easier code debugging.
Because everything is written in Kotlin, it was also possible to support most of the important platforms, including JVM, Desktop, iOS, and JavaScript.
multik-openblas
The next module is multik-openblas. Here, the OpenBLAS library is responsible for all linear algebra as well as the C wrapper over the Fortran libraries LAPACK and BLAS. C++ code is responsible for mathematics and statistics.
This module, unlike the previous one, is quite demanding on the environment and the platform it’s launched on. In the table, you can see that the code under the JVM will only work on the specified systems and architectures. On these platforms, we ensure that it works out of the box and the users are rewarded with excellent performance.
multik-default
multik-default, the last of the 4 models available at the moment, has kept its old name. It includes the two previous modules, multik-kotlin and multik-openblas. The idea is to combine the pros of both modules while doing away with the cons.
It supports all of the same platforms as the previous modules.
Support for Android and Apple Silicon processors
multik-openblas is supported by Android and macOS on new Apple processors. Now you can enjoy the speed of applications on Android with ARMv8 processors and native support for M1 and M2 processors from Apple.
Random, norm matrix, easy creation of complex numbers, and more
In this release, we have also improved the usability of the library. For example, we wrapped random from Kotlin to create arrays with random numbers:
val ndarray = mk.rand<Float>(3, 5, 2)
We have changed the matrix norm calculation function and added it to the native one:
val ndarray = mk.ndarray(mk[mk[1.0, 2.0], mk[3.0, 4.0]])
mk.linalg.norm(ndarray)
mk.linalg.norm(ndarray, Norm.Inf)
And now you can create complex numbers easily and naturally. Credit for this contribution goes to Marcus Dunn.
val complexNumber: ComplexDouble = 1.0 + 1.0.i
For more details about this new release, please check out the changelog.
How to try it
To try Multik 0.2.0 in your project, do the following:
Make sure that you have mavenCentral() in your list of repositories:
Introducing Multik 0.2.0! Now a multiplatform library, it allows you to use multidimensional arrays in your favorite multiplatform projects. Let’s take a closer look at what’s new in v0.2.0.
We are very grateful to Luca Spinazzola for his huge contribution to the multiplatform capabilities included in this release of the library.
Before we move on to reviewing Multik’s new multiplatform structure, we need to say a few words about the new naming conventions. Ever since we multiplied the number of artifacts and added platform suffixes, such as jvm, macosx64, js, and others, there have been collisions with older names. To solve this problem, we’ve renamed some of the modules.
Let’s reacquaint ourselves with the modules and get a sense of which platforms each module now supports.
multik-core
As the name suggests, this is the main module providing multidimensional arrays and the ability to perform transformations, iteration, and arithmetic operations with them. This module also provides an API for calculations that require complex algorithms and resources. Now there are three types of such APIs: mathematics, linear algebra, and statistics. Other modules are responsible for the implementation of this API. Remember – Multik lets you replace these implementations at runtime.
We have added support for all major platforms for this module. Note that JavaScript uses a new IR and Kotlin/Native uses a new memory model, so these artifacts will only be compatible with projects that support the new IR and new memory model, respectively.
The first module that implements the above API is multik-kotlin. In this module, all algorithms and logic are written in pure Kotlin. Even though it may be slower than native libraries, it provides more stability and allows for easier code debugging.
Because everything is written in Kotlin, it was also possible to support most of the important platforms, including JVM, Desktop, iOS, and JavaScript.
multik-openblas
The next module is multik-openblas. Here, the OpenBLAS library is responsible for all linear algebra as well as the C wrapper over the Fortran libraries LAPACK and BLAS. C++ code is responsible for mathematics and statistics.
This module, unlike the previous one, is quite demanding on the environment and the platform it’s launched on. In the table, you can see that the code under the JVM will only work on the specified systems and architectures. On these platforms, we ensure that it works out of the box and the users are rewarded with excellent performance.
multik-default
multik-default, the last of the 4 models available at the moment, has kept its old name. It includes the two previous modules, multik-kotlin and multik-openblas. The idea is to combine the pros of both modules while doing away with the cons.
It supports all of the same platforms as the previous modules.
Support for Android and Apple Silicon processors
multik-openblas is supported by Android and macOS on new Apple processors. Now you can enjoy the speed of applications on Android with ARMv8 processors and native support for M1 and M2 processors from Apple.
Random, norm matrix, easy creation of complex numbers, and more
In this release, we have also improved the usability of the library. For example, we wrapped random from Kotlin to create arrays with random numbers:
val ndarray = mk.rand<Float>(3, 5, 2)
We have changed the matrix norm calculation function and added it to the native one:
val ndarray = mk.ndarray(mk[mk[1.0, 2.0], mk[3.0, 4.0]])
mk.linalg.norm(ndarray)
mk.linalg.norm(ndarray, Norm.Inf)
And now you can create complex numbers easily and naturally. Credit for this contribution goes to Marcus Dunn.
val complexNumber: ComplexDouble = 1.0 + 1.0.i
For more details about this new release, please check out the changelog.
How to try it
To try Multik 0.2.0 in your project, do the following:
Make sure that you have mavenCentral() in your list of repositories:
The most effective way to learn about our users’ needs and wants is to ask them. This is why we pay so much attention to our community’s feedback – it helps us understand our users’ and provide them with the best solutions.
We’d like to thank everyone who takes part in our surveys and share the results of our previous questionnaire with you. This time around, we asked backend, frontend, mobile, and full-stack developers, as well as team and tech leads, about their experience with Kotlin Multiplatform, its key benefits, use cases, adoption time, and parts of code they were able to share between platforms.
Before we jump into the survey highlights, we want to let you know that we’ve just launched a new Kotlin Multiplatform User Survey for you to participate in. Take this opportunity to share your feedback with us and contribute to community knowledge. Complete the survey and get a chance to win special prizes!
As in previous surveys, most of the respondents were mobile engineers (64.1%), including Android and iOS developers and those who use cross-platform technologies most of the time. The answers we collected helped us gain essential insights into Kotlin Multiplatform usage and understand our users’ pain points.
Below are the key findings of the Q3-Q4 2021 survey.
We’ve shared the survey highlights that we believe are most interesting, but if you want more information, you can get the complete questionnaire results.