Theory
एक Android App तक तीसरी Road
आपने अब तक Android apps दो तरीकों से build किए हैं: Java में (BCA305-02, FestConnect Mobile) और Dart/Flutter से (BCA405-02)। यह subject एक THIRD सिखाता है: Kotlin, वह language जिसे Google अब officially Android के लिए PREFER करता है।
एक तीसरी क्यों? क्योंकि Kotlin Java के सबसे बड़े pain points fix करती है, especially dreaded null-pointer crash, Java के साथ everything fully compatible रहते हुए। यह subject FestConnect Mobile को Kotlin में rebuild करता है। अगर आप Java अच्छी तरह जानते हैं (BCA403), Kotlin आपको rough edges sanded off वाली Java जैसी लगेगी। यह lesson language और इसके tools introduce करता है।
Theory
Kotlin, Formally
Kotlin JetBrains की एक modern, statically-typed programming language है जो JVM पर चलती है (यह Java bytecode में compile होती है, exactly Java की तरह BCA403 में)।
इसकी headline characteristics:
- concise: Java से बहुत कम boilerplate (कोई semicolons नहीं, type inference, कम ceremony)
- safe: built-in null safety null-related errors को RUNTIME crashes की बजाय COMPILE time पर पकड़ता है
- interoperable: यह Java के साथ seamlessly काम करती है, Java code और libraries call करते हुए और Java से call होते हुए, तो आप इन्हें mix कर सकते हैं
- object-oriented और functional
चूँकि यह JVM target करती है और Java से interoperate करती है, Kotlin एक rival नहीं है जो आपका Java knowledge abandon करता है: यह इस पर BUILDS करता है। Google ने इन्हीं reasons से इसे preferred Android language बनाया।
Practical
First Kotlin: नोट कीजिए क्या Missing है
fun main() { // fun declares a function; entry point
val fest = "TechnoUtsav" // val = read-only; type INFERRED as String
var seats = 350 // var = changeable; inferred Int
seats = seats - 1 // ok: var can change
// String template: $variable inside the string
println("$fest has $seats seats") // TechnoUtsav has 349 seats
}
// Notice: no semicolons, no class needed for main, types inferred.
Theory
IDE: IntelliJ IDEA / Android Studio
Kotlin का home IDE IntelliJ IDEA है, JetBrains (Kotlin के खुद creators) से बना, जो first-class Kotlin support देता है। ANDROID के लिए specifically, आप Android Studio इस्तेमाल करते हैं, जो IntelliJ पर BUILT है और out of the box Kotlin support शामिल करता है।
Setup straightforward है: IntelliJ IDEA download कीजिए (या Android work के लिए Android Studio), install कीजिए, और एक नया Kotlin project create कीजिए; IDE Kotlin compiler और JVM handle करता है। आप BCA305-02 में Java Android के लिए Android Studio से already मिल चुके हैं; अब वही tool आपका Kotlin host करता है। Pure Kotlin practice के लिए (Android नहीं), IntelliJ IDEA Community Edition free और ideal है।
Quiz
Android development के लिए Java पर Kotlin का एक defining advantage क्या है?
- Kotlin कोई Java libraries इस्तेमाल नहीं कर सकती
- Kotlin में built-in null safety है (compile time पर null errors पकड़ते हुए) और यह ज़्यादा concise है, Java के साथ fully interoperable रहते हुए
- Kotlin सिर्फ़ iOS पर चलती है
- Kotlin Java और JVM से पूरी तरह unrelated है
Show the answer
Kotlin में built-in null safety है (compile time पर null errors पकड़ते हुए) और यह ज़्यादा concise है, Java के साथ fully interoperable रहते हुए
Kotlin के headline advantages built-in NULL SAFETY (compiler runtime से पहले potential null-pointer errors पकड़ता है, Java crashes की एक huge class रोकते हुए) और CONCISENESS (बहुत कम boilerplate) हैं, यह सब Java के साथ fully INTEROPERABLE रहते हुए, यह JVM पर चलती है और हर Java library इस्तेमाल कर सकती है। Option A true का opposite है: seamless Java interop एक key Kotlin feature है। Option C false है: Kotlin Google की preferred ANDROID language है (JVM-based)। Option D इसके JVM/Java relationship को deny करता है, जो central है इसे adoptable बनाने में (existing Java code और skills carry over होती हैं)। Pitch: Java की safety और interop, इसकी verbosity और null crashes को minus करते हुए।
Think first
एक तीसरी Android Language क्यों सीखें?
आप already Java (Android) और Dart (Flutter) जानते हैं। Industry, और यह subject, Kotlin भी क्यों add करता है? फिर tap कीजिए।
Show the answer
क्योंकि हर एक एक अलग, real-world approach represent करती है जो आप job पर मिल सकती है। JAVA original, अभी भी huge Android codebase language है। KOTLIN अब native Android के लिए Google की PREFERRED language है: modern, safe, concise, और नए native Android projects के लिए default, तो यह highly employable है। DART/FLUTTER cross-platform route है (Android AND iOS के लिए एक codebase)। तीनों जानना आपको flexible बनाता है: आप legacy Java maintain कर सकते हैं, Kotlin में नई native apps लिख सकते हैं, या Flutter में cross-platform build कर सकते हैं, और project के हिसाब से सही tool choose कर सकते हैं। Kotlin specifically सीखने लायक है क्योंकि यहाँ NATIVE Android development जा रही है, और क्योंकि Java पर इसके improvements (null safety, conciseness) genuinely valuable हैं। तीन languages, तीन approaches, एक adaptable developer।
Watch out
Kotlin Intro Traps
Sोचना Kotlin Java Abandon करती है: यह JVM पर चलती है और fully interoperate करती है; आपका Java knowledge transfer होता है।
Semicolons की Expectation: Kotlin इन्हें require नहीं करती (एक nice simplification)।
IntelliJ और Android Studio Confuse करना: Android Studio IntelliJ ON built है; Android के लिए इसे इस्तेमाल कीजिए, pure Kotlin के लिए IntelliJ।
Assume करना यह सिर्फ़ Android के लिए है: Kotlin generally JVM भी target करती है, JavaScript, और native; Android इसका सबसे famous use है।
Null Safety Skip करना: यह Kotlin का signature feature है; इसे deliberately सीखिए (अगला lesson)।
Theory
Set Up हो गया; अब Language
Kotlin और इसके IDE ready होने के साथ, अगले lessons खुद language सिखाते हैं, और चूँकि आप Java जानते हैं, ये तेज़ चलते हैं, सिर्फ़ Kotlin की distinctive features पर brake करते हुए। पहले: variables, val/var distinction, Kotlin के types, और show का star, NULLABLE variables और null safety, वह feature जो Kotlin को Java से सबसे ज़्यादा अलग करता है। FestConnect Mobile का rebuild solid, crash-resistant data से शुरू होता है।
Summary
Key takeaways
- Kotlin JetBrains की एक modern, statically-typed JVM language है, Android के लिए officially Google की preferred।
- यह Java bytecode में compile होती है (Java की तरह) और Java के साथ fully interoperable है (Java libraries इस्तेमाल करती है, Java code से mix होती है)।
- Key traits: concise (कोई semicolons नहीं, type inference, कम boilerplate), safe (built-in null safety), object-oriented और functional।
- Null safety compile time पर null-related errors पकड़ता है, Java runtime crashes की एक major class रोकते हुए।
- IDE: IntelliJ IDEA (pure Kotlin) या Android Studio (IntelliJ पर built) Android के लिए।
- यह Java (BCA305-02) और Dart/Flutter (BCA405-02) के बाद तीसरा Android path है; यह Java पर builds करता है, आपका knowledge replace नहीं करता।
- Memory hook: Kotlin वह Java है जो concise और null-safe बनी, same JVM पर।