3 पॉइंट द्वारा GN⁺ 2026-01-05 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • सिर्फ Swift से Android native app develop करने वाला framework, जिसमें UI से लेकर manifest और lifecycle तक सब कुछ एक ही language में बनाया जा सकता है
  • XML, Java, Kotlin का बिल्कुल उपयोग किए बिना declarative UI approach से Android UI बनाने की संरचना प्रदान करता है
  • Web wrapper या transpiler नहीं, बल्कि शुद्ध native Android framework के रूप में काम करता है
  • SwiftUI जैसी declarative syntax के जरिए UI define किया जा सकता है, और जटिल JNI layer को पूरी तरह छिपा देता है
  • Android Manifest और Gradle settings तक को सीधे Swift code में define करने वाला integrated development experience देता है
  • Swift developers के लिए Android तक विस्तार करने का एक नया native विकल्प, और Swift-based cross-platform development की नई संभावनाएँ खोलने वाला turning point

Droid का अवलोकन

  • Droid एक ऐसा framework है जिसे सिर्फ Swift language का उपयोग करके Android native applications develop करने के लिए डिज़ाइन किया गया है
  • UI, app settings, lifecycle, manifest को एक ही language और codebase में manage करने के लिए बनाया गया है
  • Android development में अनिवार्य मानी जाने वाली XML, Java, Kotlin dependencies को हटाता है
  • AndroidX, Flexbox, Material Design जैसे Android native components शामिल हैं
  • SwiftUI जैसी declarative syntax देकर UI definition को सरल बनाता है
  • JNI layer को पूरी तरह छिपाकर high-level API के जरिए access देता है

डिज़ाइन लक्ष्य और विशेषताएँ

  • Pure Swift आधारित, जहाँ UI, manifest और app configuration का पूरा हिस्सा Swift में लिखा जाता है
  • Declarative UI अपनाकर readability और composability पर ज़ोर
  • XML का बिल्कुल उपयोग न करने वाला No XML development approach
  • Web-based approach या code conversion नहीं, बल्कि Native Android execution model अपनाता है
  • UI, manifest, Gradle dependencies को एक ही जगह define करने वाली integrated structure देता है

Declarative UI की संरचना

  • Swift-friendly API का उपयोग करके Android UI को declarative तरीके से बनाया जाता है
  • ConstraintLayout, VStack, TextView, MaterialButton जैसे Android widgets को Swift code में व्यक्त किया जाता है
  • Layout constraints, click events, style settings को सीधे code में define किया जाता है

Swift में लिखा जाने वाला Android Manifest

  • Android Manifest को ही Swift code में declare किया जाता है
  • App icon, theme, activity, fragment settings को code level पर manage किया जाता है
  • Lifecycle event handling और configuration logic को एक ही Swift file में एकीकृत किया जाता है

दस्तावेज़ और development environment

  • Official documentation उपलब्ध है और लगातार विस्तारित की जा रही है
  • Android की पूरी functionality अभी पूरी तरह document नहीं हुई है, लेकिन मौजूदा guides को परिष्कृत रूप में दिया गया है
  • Swift Stream IDE के जरिए तुरंत development शुरू किया जा सकता है

सपोर्ट का दायरा

  • Classic Android widgets का समर्थन
  • AndroidX libraries का समर्थन
  • Material Design components का समर्थन
  • Flexbox layout का समर्थन

प्रोजेक्ट की स्थिति

  • प्रोजेक्ट सक्रिय रूप से development में है और तेज़ी से विकसित हो रहा है
  • API को विस्तार की संभावना के साथ लगातार बेहतर किया जा रहा है, लेकिन इसका मुख्य vision बरकरार है
  • Feedback और participation को सक्रिय रूप से प्रोत्साहित किया जाता है

1 टिप्पणियां

 
GN⁺ 2026-01-05
Hacker News की राय
  • Swift Stream IDE v1.17.0 जारी किया गया है। अब सिर्फ Swift से पूरी Android ऐप डेवलपमेंट संभव हो गई है
    XML, Java, Kotlin को बिल्कुल छूने की ज़रूरत नहीं है। अंदरूनी तौर पर मेरे बनाए SwifDroid framework द्वारा Android lifecycle, Activity, Fragment, UI widgets (Material, Flexbox आदि) संभाले जाते हैं और Gradle dependencies भी अपने-आप manage होती हैं
    यह Swift code को compile करके Android Studio में तुरंत चलने योग्य project बनाता है। tool और framework दोनों को MIT open source license के तहत जारी किया गया है

    • दिलचस्प है। यह जानने की उत्सुकता है कि Swift developers के लिए ज़रूरी Android experience और Android/Kotlin developers के लिए ज़रूरी Swift experience का overlap कितना है
      आपने कहा कि XML, Java, Kotlin को छूना नहीं पड़ता, लेकिन क्या Android का बिल्कुल अनुभव न रखने वाला Swift developer भी सफलतापूर्वक ऐप बना सकता है, यह जानना चाहूँगा
      और यह भी कि अभी और अगले साल के हिसाब से Kotlin या Flutter ऐप्स का लगभग कितने प्रतिशत हिस्सा Swift में लिखा जा सकता है
    • Swift की एक बड़ी ताकत C/C++ libraries के साथ interoperability है। आम तौर पर ये SwiftPM या Bazel dependencies के रूप में मिलती हैं, इसलिए यह जानना चाहूँगा कि SwiftPM dependencies को कैसे handle किया जाता है
    • Java/Kotlin code को Swift से bind करने का तरीका जानने की उत्सुकता है
      हम भी Swift की जगह Rust के साथ कुछ ऐसा ही करने की कोशिश कर रहे हैं
    • बधाई। मैं भी Swift के साथ development environment को unify करने के बारे में सोच रहा था, यह वाकई शानदार काम है
  • ऐसी कोशिशों को आखिरकार JNI से होकर जाना ही पड़ता है, इसलिए यह सीमा रहेगी कि API का 80% सिर्फ Java के रूप में expose होता है
    ऐसे प्रोजेक्ट हमेशा दिलचस्प होते हैं, लेकिन अंत में leaky abstraction की समस्या से टकराते ही हैं
    जैसे iOS में Objective-C जानना पड़ता है, और Windows में .NET/COM जानना पड़ता है

    • आजकल Apple ecosystem में भी सफल होने के लिए Swift और Objective-C दोनों संभालने पड़ते हैं
      Unity के अनुभव से देखें तो C# से C तक marshalling तो smooth है, लेकिन Swift में काफ़ी ज़्यादा मेहनत लगती है
      हक़ीक़त यह है कि हर नए framework के लिए अलग से निपटना पड़ता है
  • प्लेटफ़ॉर्मों के बीच एक common language (Swift या Kotlin) इस्तेमाल करना ऊपर-ऊपर से अच्छा लगता है, लेकिन मुझे नहीं लगता कि व्यवहार में यह उतना efficient है जितनी उम्मीद की जाती है
    आखिर में दो codebases maintain करने पड़ते हैं, और फ़र्क़ व workarounds इतने बढ़ जाते हैं कि बेहतर है हर प्लेटफ़ॉर्म की भाषा को उसी रूप में इस्तेमाल किया जाए
    ज़्यादातर developers कई भाषाएँ सीखते हुए करियर बनाते हैं, और switch करना भी इतना मुश्किल नहीं होता। यह मेरी निजी राय है, लेकिन प्रोजेक्ट अपने-आप में शानदार है

    • फिर भी ऐसी कोशिशों की वजह से एक platform के आदी engineer दूसरे platform पर भी काम कर पाते हैं
      मैंने भी कभी Java से Android native ऐप बनाने के लिए कई महीने पढ़ाई की थी, लेकिन मज़ा नहीं आया और छोड़ दिया
      मेरी पसंद पूर्ण native development है, और दशकों तक cross-platform frameworks इस्तेमाल करने के बाद भी बहुत बड़ी सफलता कम ही देखी है
      भाषा बदलने के साथ हमेशा context switching cost आती है। Swift और PHP के बीच आते-जाते मैं अक्सर syntax mistakes कर देता हूँ
      भाषा तो जल्दी सीखी जा सकती है, लेकिन SDK, standard library और framework में दक्ष होने में बहुत समय लगता है
    • ऐसे frameworks साधारण feature development के लिए तेज़ होते हैं, लेकिन platform-specific features इस्तेमाल करनी हों तो उल्टा रुकावट बन जाते हैं
      खासकर अब AI tools की वजह से साधारण काम पहले ही काफ़ी तेज़ हो चुके हैं, इसलिए कुल development time में बचत उतनी बड़ी नहीं रहती
      अगर ऐप लगभग web app जैसी ही है तो बात अलग है, वरना मैं इसकी सिफारिश नहीं करूँगा
    • Kotlin और Swift काफ़ी मिलती-जुलती हैं, और जहाँ फ़र्क़ हैं वहाँ मुझे लगता है कि abstraction न करना ही बेहतर है
      भाषा के रूप में Swift बेहतर लगती है, लेकिन KMP ज़्यादा पुराना और stable है, इसलिए व्यवहार में शायद मैं उसी का इस्तेमाल करूँगा
    • कई भाषाएँ जानना उल्टा आज़ादी देता है
      लेकिन किसी बड़े corporate ecosystem पर और ज़्यादा निर्भर होना मुझे पसंद नहीं
      ऊपर से Swift मुझे व्यक्तिगत रूप से असुविधाजनक भाषा लगती है, इसलिए उसे दूसरे platform पर भी इस्तेमाल करने की ख़ास इच्छा नहीं है
  • यह Skip से कैसे तुलना करता है, यह जानने की उत्सुकता है
    लगता है यह प्रोजेक्ट iOS SwiftUI code को Android में ले जाने के बजाय, Android-only Swift development पर केंद्रित है
    क्या इससे ऐप की quality बेहतर हो सकती है, और क्या इसके वास्तविक उदाहरण हैं, यह जानना चाहूँगा

  • सिर्फ़ इस वजह से कि Android Studio या IntelliJ इस्तेमाल न करना पड़े, मैं इसे बहुत बड़ा सुधार मानता हूँ। शानदार काम

    • Android से बचने के लिए Xcode इस्तेमाल करना, hydrochloric acid को हाथ लगाने जैसा चुनाव लगता है
    • क्या Gradle से भी बचा जा सकता है? यह जानना चाहूँगा कि क्या उस dependency management nightmare को भी पार किया जा सकता है
  • cookie consent dialog कुछ यूरोपीय नियमों के अनुरूप नहीं लगता

  • समझ नहीं आता कि mobile development PC की तुलना में इतनी असुविधाजनक क्यों है
    मोबाइल पर assembly में Hello World जैसा साधारण प्रोग्राम बनाना भी इतना मुश्किल क्यों है, यह सोचता हूँ

    • बनाया जा सकता है। लेकिन यह PC पर assembly में Hello World बनाने जितना ही पीड़ादायक काम है, इसलिए कोई करता नहीं
  • मैंने काफ़ी समय से Android development नहीं किया, तो आज की स्थिति को समेटकर देखूँ तो
    पहले iOS में Swift और Android में Java होता था
    अब Java की जगह Kotlin है, और Flutter या React Native जैसे cross-platform frameworks भी आ गए हैं
    तो Swift on Android भी क्या ऐसा ही एक और abstraction layer है, या यह native के काफ़ी क़रीब है, यह जानना चाहूँगा
    आखिर सबसे तेज़ तो native code ही नहीं होता?

    • React Native webview-आधारित नहीं है। यह JSX को SwiftUI/Kotlin UI code में बदलने वाली native translation layer है
      व्यक्तिगत रूप से मुझे Flutter पसंद है। कई Android native developers भी कहते हैं कि Flutter Android development का भविष्य हो सकता है
      संबंधित चर्चा के लिए यह Reddit thread देखें
  • यह प्रोजेक्ट SwiftCrossUI या Skip से अलग approach लेता है
    SwiftCrossUI और Skip, SwiftUI को कई platforms पर वैसे का वैसा चलाने की कोशिश करते हैं,
    जबकि SwifDroid का लक्ष्य Android-specific UI को Swift में लिखना है
    मकसद है Android के View system और APIs का सीधे इस्तेमाल करते हुए, Java/Kotlin/XML के बिना पूरी Android ऐप्स को Swift में बनाना
    यानी यह “एक बार लिखो, हर जगह चलाओ” नहीं, बल्कि Swift में Android native अनुभव को लागू करने की दिशा है

  • Swift में HTTP requests और JSON parsing को idiomatic तरीके से कैसे handle किया जाता है, यह जानना चाहूँगा