- Swift एक ऐसा language है जो कई platforms को support करता है और इसी वजह से लोकप्रिय हो रहा है; इसे कई embedded devices और operating systems में इस्तेमाल किया जा सकता है
- Apple ने Swift Build नाम का एक शक्तिशाली और scalable build engine open source के रूप में जारी किया
- Swift Build का इस्तेमाल Xcode के build engine के रूप में होता है, और यह "App Store apps और Apple के अपने operating systems के build" में भी उपयोग किया जाता है।
- Linux और Windows target builds का भी support
-
Swift Build की मुख्य विशेषताएँ
- Build system project description और source code को command-line tools, libraries, applications जैसे outputs में बदलने का काम करता है
- Swift Build एक infrastructure component है जो Swift Package Manager या Xcode जैसे higher-level clients द्वारा अनुरोधित builds की planning और execution करता है
- Swift compiler के साथ मजबूत integration के जरिए यह Swift projects के builds को विश्वसनीय और कुशल तरीके से coordinate करता है
- यह कई product types को support करता है और advanced build configuration options प्रदान करता है
- इसमें build graph optimizations शामिल हैं जो Swift और C code build करते समय parallelism को अधिकतम करते हैं
-
Swift Build का roadmap
- Xcode के build engine की तुलना में Swift Package Manager का build engine अपेक्षाकृत सरल है
- Apple platforms पर packages को build करने के दो अलग-अलग तरीके users में भ्रम पैदा करते हैं
- Apple इन समस्याओं को हल करने के लिए Xcode के build engine को Swift project में योगदान दे रहा है और Swift compiler के साथ इसे open source में विकसित करना चाहता है
- SwiftPM को सभी platforms पर एक unified build execution engine देने का अवसर मिलेगा
- यह बदलाव users के लिए transparent रहेगा और सभी मौजूदा packages के साथ पूर्ण compatibility बनाए रखेगा
- इससे सभी platforms और tools में नए features और improvements देने की नींव तैयार होगी
- SwiftPM के वैकल्पिक build engine के रूप में Swift Build को integrate करने के लिए PR submit किया गया
- समुदाय के साथ मिलकर build system integration का काम पूरा करने की योजना है ताकि सभी platforms और project models में भविष्य के tool improvements का लाभ मिल सके
-
भागीदारी के लिए आमंत्रण
- Swift code को build करने के तरीकों को आगे विकसित करने के लिए community के साथ सहयोग जारी रखने की उम्मीद है।
- GitHub के Swift organization में
swift-buildrepository उपलब्ध है, जिसमें build और contribute करने के तरीके समझाने वाला README और documentation शामिल है। - Pull requests और issues के माध्यम से contributions का स्वागत है, और Swift forum पर improvements के लिए feedback और ideas आमंत्रित हैं।
- यह Swift के build system के लिए एक रोमांचक नया अध्याय है, और उम्मीद है कि यह Swift की पूरी क्षमता को खोलेगा।
4 टिप्पणियां
लगता है कि https://llvm.org/devmtg/2016-11/… के page 12 में अहम बात है।
Traditional UNIX compiler/build system model
• Compiler अलग process के रूप में चलता है
• dependencies communicate करने के लिए primitive mechanisms
• command line से परिभाषित fixed input/output pipeline
• यह एक API है ...
• ... और हमने इसे दशकों से बदला नहीं है
• हम ❤ APIs तोड़ना पसंद करते हैं
Java पक्ष में ऐसा API है जो code के बीच की dependencies बताता है, इसलिए build tools को यह बताया जा सकता है कि incremental build कैसे किया जाए, ऐसा लगता है।
ex: Gradle
लगता है कि Native build में भी इस तरीके को लागू करने की दिशा में जाना चाहिए।
तो... संक्षेप में कहें तो, Xcode अभी भी पहले की तरह ही कबाड़ है, है ना?
सुबक-सुबक-सुबक
zzz
Hacker News की राय
यह धारणा कि Swift "हर चीज़ के लिए अच्छा है, लेकिन Apple प्लेटफ़ॉर्म पर और बेहतर है", भाषा के लिए नुकसानदेह हो सकती है। इससे Swift ecosystem में ज़्यादा लोग आकर्षित नहीं हो पाते
Swift एक शानदार language है
Swift की स्थिति शुरुआती C# दौर की याद दिलाती है
अच्छा होगा अगर Swift, Apple के LLVM fork के बजाय सामान्य LLVM पर आधारित होकर बनाया जाए
Swift को Xcode से अलग होने का लक्ष्य रखना चाहिए
SwiftPM की नई release सभी platforms पर एकीकृत build execution engine देने का अवसर देती है
सोचने वाली बात है कि क्या यह Xcode के बिना Swift development का रास्ता खोल सकता है
यह स्पष्ट नहीं है कि Swift Build, Swift के tools और language server के साथ कितनी अच्छी तरह integrate होता है
यह देखकर खुशी है कि Swift, Apple से स्वतंत्र हो रहा है
यह जानने की जिज्ञासा है कि क्या Swift embedded systems को लेकर गंभीर है