Mitä yhteisestä stdlibistä EI löydy
JVM-kohtaiset API:t, joita commonMainissa tulee välttää
Mitä yhteisestä stdlibistä EI löydy on ilmainen Kotlin Multiplatform Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Kotlin Multiplatform Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Kotlin Multiplatform Academy-kurssilla on yhteensä 4 oppituntia.
Commonilla on rajoituksia
Kaikki Kotlinin API:t eivät ole monialustaisia. common-stdlib on harkittu osajoukko, ja monet tutut JVM-työkalut puuttuvat siitä.
Ei java.*-paketteja commonissa
Kaikki java-pakettien alla oleva on vain JVM:lle. Koodi kääntyy Androidissa, mutta iOS:n käännös rikkoutuu heti, kun se yrittää käsitellä sitä.
java.util.Date jää pois
Vanhoja java.util.Date- ja Calendar-tyyppejä ei ole jaetussa koodissa. Käyttäkää niiden sijaan kotlinx-datetimea.
Täällä ei ole tiedostoja tai polkuja
JVM:n file-API:t, kuten java.io.File, puuttuvat commonMain-lähdejoukosta. Tiedostojen käyttöön tarvitaan monialustainen kirjasto tai expect/actual-ratkaisu.
Reflektio on rajoitettua
Täysi reflection on JVM:n ominaisuus. Jaetussa koodissa käytettävissä on vain pieni osajoukko, joten suunnitelkaa ratkaisu ilman raskasta ajonaikaista introspektiota.
Säikeet toimivat eri tavoin
java.lang.Thread ei ole käytettävissä common-koodissa. Taustatyöhön käytetään coroutines-korutiineja, jotka ovat täysin monialustaisia.
Näin tunnistatte sudenkuopan
Jos import alkaa merkkijonolla java tai javax, se ei voi olla commonMain-lähdejoukossa. Tämä etuliite on varoitusmerkki.
import java.util.UUIDKääntäjä huomauttaa virheestä
Kun JVM:lle tarkoitettu koodi sijoitetaan common-koodiin, koonti epäonnistuu nopeasti iOS-kohteen kohdalla unresolved reference -virheeseen. Se on hyödyllistä, ei pelottavaa.
Kaksi ratkaisua
Kun tarvitsette alustakohtaisen API:n, etsikää joko multiplatform-kirjasto tai käärikää API itse expect/actual-ratkaisulla kullekin kohteelle.
Pysykää turvallisella alueella
Käyttäkää common-koodissa Kotlinin stdlib-tyyppejä ja kotlinx-kirjastoja, niin jaettu kerros säilyy siirrettävänä kaikkialla. 🙂
Suunnitelkaa ennen koodaamista
Ennen logiikan jakamista kysykää, tarvitseeko se JVM-only-API:a. Jos tarvitsee, eristäkää se, jotta commonMain pysyy siistinä.
Pikatarkistus
Mikä import ei kuulu commonMain-lähdejoukkoon?
Kertaus
Välttäkää java.*-API:en käyttöä commonMain-lähdejoukossa. Käyttäkää stdlib-tyyppejä, kotlinx-kirjastoja tai expect/actual-ratkaisua, jotta jaettu koodi säilyy aidosti siirrettävänä.
Opi Kotlin tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”Mitä yhteisestä stdlibistä EI löydy” ilmainen?
Kyllä – oppitunnin ”Mitä yhteisestä stdlibistä EI löydy” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Kotlin Multiplatform Academy-kurssin, päivitä CoddyKit PROhon. Kotlin Multiplatform Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Mitä yhteisestä stdlibistä EI löydy”?
JVM-kohtaiset API:t, joita commonMainissa tulee välttää Harjoittelet Kotlin Multiplatform Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Kotlin Multiplatform Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Kotlin Multiplatform Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Mitä yhteisestä stdlibistä EI löydy”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Kotlin Multiplatform Academy-oppitunnilla?
Kyllä. Jokainen Kotlin Multiplatform Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Merkkijonot, luvut ja kokoelmat kaikkialla
- map, filter ja fold jaetussa koodissa
- Päivämäärät kotlinx-datetime-kirjastolla
- Mitä yhteisestä stdlibistä EI löydy