SwiftUI फ्रेमवर्क

From binaryoption
Jump to navigation Jump to search
Баннер1
    1. स्विफ्टयूआई फ्रेमवर्क : शुरुआती के लिए संपूर्ण गाइड

स्विफ्टयूआई (SwiftUI) एप्पल द्वारा विकसित एक घोषणात्मक यूजर इंटरफेस (UI) फ्रेमवर्क है। यह आईओएस (iOS), मैकओएस (macOS), वाचओएस (watchOS) और टीवीओएस (tvOS) के लिए एप्लिकेशन बनाने का एक नया तरीका प्रदान करता है। पारंपरिक यूआईकिट (UIKit) के विपरीत, स्विफ्टयूआई कोड को कम और अधिक पठनीय बनाने पर ध्यान केंद्रित करता है। यह लेख स्विफ्टयूआई की मूल अवधारणाओं, घटकों और उपयोग के तरीकों को शुरुआती लोगों के लिए विस्तार से समझाएगा।

स्विफ्टयूआई क्या है?

स्विफ्टयूआई एक आधुनिक यूआई फ्रेमवर्क है जो स्विफ्ट (Swift) प्रोग्रामिंग भाषा के साथ गहराई से एकीकृत है। यह घोषणात्मक प्रोग्रामिंग दृष्टिकोण का उपयोग करता है, जिसका अर्थ है कि आप बताते हैं कि यूआई कैसा दिखना चाहिए, न कि इसे कैसे बनाना है। स्विफ्टयूआई स्वचालित रूप से यूआई बनाने और उसे अपडेट करने का ध्यान रखता है।

स्विफ्टयूआई के लाभ

स्विफ्टयूआई कई लाभ प्रदान करता है, जिनमें शामिल हैं:

  • सरलता: स्विफ्टयूआई कोड यूआईकिट की तुलना में बहुत सरल और अधिक पठनीय है।
  • घोषणात्मक प्रोग्रामिंग: यूआई को बनाने और अपडेट करने की जटिलता स्विफ्टयूआई द्वारा संभाली जाती है।
  • लाइव प्रीव्यू: एक्सकोड (Xcode) में लाइव प्रीव्यू आपको कोड बदलने पर वास्तविक समय में यूआई देखने की अनुमति देता है।
  • क्रॉस-प्लेटफॉर्म संगतता: स्विफ्टयूआई कोड को विभिन्न एप्पल प्लेटफॉर्म पर आसानी से पोर्ट किया जा सकता है।
  • एक्सेसिबिलिटी: स्विफ्टयूआई में एक्सेसिबिलिटी सुविधाओं का अंतर्निहित समर्थन है।
  • डेटा बाइंडिंग: डेटा और यूआई के बीच स्वचालित सिंक (sync)।

स्विफ्टयूआई की मूल अवधारणाएं

स्विफ्टयूआई को समझने के लिए कुछ बुनियादी अवधारणाओं को जानना आवश्यक है:

  • व्यू (View): स्विफ्टयूआई में, यूआई के प्रत्येक तत्व को एक व्यू कहा जाता है। टेक्स्ट लेबल, बटन, इमेज (image) और लिस्ट (list) सभी व्यू हैं।
  • लेआउट कंटेनर (Layout Container): व्यू को व्यवस्थित करने के लिए लेआउट कंटेनर का उपयोग किया जाता है, जैसे कि वर्टिकल स्टैक (VStack), हॉरिजॉन्टल स्टैक (HStack), और जेडस्टैक (ZStack)।
  • स्टेट (State): स्टेट एक व्यू की आंतरिक स्थिति को संदर्भित करता है। जब स्टेट बदलता है, तो व्यू स्वचालित रूप से अपडेट हो जाता है।
  • बाइंडिंग (Binding): बाइंडिंग एक स्टेट वेरिएबल को यूआई तत्व से जोड़ता है। जब यूआई तत्व बदलता है, तो स्टेट वेरिएबल स्वचालित रूप से अपडेट हो जाता है, और इसके विपरीत।
  • प्रॉपर्टी रैपर (Property Wrapper): प्रॉपर्टी रैपर स्टेट, बाइंडिंग और अन्य डेटा प्रबंधन सुविधाओं को सरल बनाने में मदद करते हैं। जैसे कि `@State`, `@Binding`, `@ObservedObject` आदि।

स्विफ्टयूआई के मुख्य घटक

स्विफ्टयूआई कई अंतर्निहित घटक प्रदान करता है जिनका उपयोग आप यूआई बनाने के लिए कर सकते हैं:

  • Text: टेक्स्ट प्रदर्शित करने के लिए।
  • Image: इमेज प्रदर्शित करने के लिए।
  • Button: बटन बनाने के लिए।
  • TextField: टेक्स्ट इनपुट (text input) फ़ील्ड बनाने के लिए।
  • Slider: स्लाइडर बनाने के लिए।
  • Toggle: टॉगल स्विच बनाने के लिए।
  • List: डेटा की सूची प्रदर्शित करने के लिए।
  • ScrollView: स्क्रॉल करने योग्य सामग्री प्रदर्शित करने के लिए।
  • NavigationView: नेविगेशन (navigation) संरचना बनाने के लिए।
  • Form: फॉर्म बनाने के लिए।

स्विफ्टयूआई में पहला ऐप बनाना

एक साधारण स्विफ्टयूआई ऐप बनाने के लिए, इन चरणों का पालन करें:

1. एक्सकोड (Xcode) खोलें और एक नया प्रोजेक्ट (project) बनाएं। 2. "App" टेम्पलेट (template) चुनें। 3. प्रोजेक्ट का नाम और संगठन पहचानकर्ता दर्ज करें। 4. "Interface" के लिए "SwiftUI" चुनें। 5. "Language" के लिए "Swift" चुनें। 6. प्रोजेक्ट को सहेजें।

एक्सकोड स्वचालित रूप से एक `ContentView.swift` फ़ाइल बनाएगा जिसमें एक बुनियादी स्विफ्टयूआई व्यू शामिल होगा। आप इस फ़ाइल को संपादित करके अपना यूआई बना सकते हैं।

उदाहरण के लिए, यहां एक सरल ऐप है जो "हेलो, वर्ल्ड!" टेक्स्ट प्रदर्शित करता है:

```swift import SwiftUI

struct ContentView: View {

   var body: some View {
       Text("हेलो, वर्ल्ड!")
           .padding()
   }

}

struct ContentView_Previews: PreviewProvider {

   static var previews: some View {
       ContentView()
   }

} ```

इस कोड में, `ContentView` एक व्यू है जो एक `Text` व्यू प्रदर्शित करता है। `.padding()` मॉडिफायर (modifier) टेक्स्ट के आसपास पैडिंग (padding) जोड़ता है।

लेआउट कंटेनर का उपयोग करना

लेआउट कंटेनर का उपयोग करके आप व्यू को व्यवस्थित कर सकते हैं। यहां कुछ सामान्य लेआउट कंटेनर दिए गए हैं:

  • VStack: व्यू को लंबवत रूप से स्टैक (stack) करता है।
  • HStack: व्यू को क्षैतिज रूप से स्टैक करता है।
  • ZStack: व्यू को एक दूसरे के ऊपर स्टैक करता है।

उदाहरण के लिए, यहां एक ऐप है जो एक `VStack` में एक टेक्स्ट लेबल और एक बटन प्रदर्शित करता है:

```swift import SwiftUI

struct ContentView: View {

   var body: some View {
       VStack {
           Text("यह एक टेक्स्ट लेबल है।")
           Button("क्लिक करें") {
               // बटन क्लिक होने पर कार्रवाई
               print("बटन क्लिक किया गया!")
           }
       }
   }

}

struct ContentView_Previews: PreviewProvider {

   static var previews: some View {
       ContentView()
   }

} ```

स्टेट और बाइंडिंग का उपयोग करना

स्टेट और बाइंडिंग का उपयोग करके आप यूआई को डेटा से जोड़ सकते हैं। यहां एक उदाहरण दिया गया है जो एक काउंटर (counter) प्रदर्शित करता है जिसे एक बटन क्लिक करके बढ़ाया जा सकता है:

```swift import SwiftUI

struct ContentView: View {

   @State private var counter = 0
   var body: some View {
       VStack {
           Text("काउंटर: \(counter)")
           Button("बढ़ाएं") {
               counter += 1
           }
       }
   }

}

struct ContentView_Previews: PreviewProvider {

   static var previews: some View {
       ContentView()
   }

} ```

इस कोड में, `@State` प्रॉपर्टी रैपर का उपयोग `counter` वेरिएबल को स्टेट वेरिएबल के रूप में घोषित करने के लिए किया जाता है। जब बटन क्लिक किया जाता है, तो `counter` वेरिएबल का मान बढ़ जाता है, और `Text` व्यू स्वचालित रूप से अपडेट हो जाता है।

स्विफ्टयूआई में लिस्ट का उपयोग करना

स्विफ्टयूआई में लिस्ट का उपयोग करके आप डेटा की सूची प्रदर्शित कर सकते हैं। यहां एक उदाहरण दिया गया है जो स्ट्रिंग (string) की एक सूची प्रदर्शित करता है:

```swift import SwiftUI

struct ContentView: View {

   let names = ["जॉन", "जेन", "डेविड"]
   var body: some View {
       List(names, id: \.self) { name in
           Text(name)
       }
   }

}

struct ContentView_Previews: PreviewProvider {

   static var previews: some View {
       ContentView()
   }

} ```

इस कोड में, `List` व्यू `names` एरे (array) में प्रत्येक स्ट्रिंग के लिए एक `Text` व्यू प्रदर्शित करता है। `id: \.self` पैरामीटर लिस्ट को प्रत्येक आइटम को विशिष्ट रूप से पहचानने में मदद करता है।

स्विफ्टयूआई में नेविगेशन का उपयोग करना

स्विफ्टयूआई में नेविगेशन का उपयोग करके आप विभिन्न व्यू के बीच नेविगेट (navigate) कर सकते हैं। यहां एक उदाहरण दिया गया है जो एक `NavigationView` में दो व्यू प्रदर्शित करता है:

```swift import SwiftUI

struct ContentView: View {

   var body: some View {
       NavigationView {
           VStack {
               Text("पहला व्यू")
               NavigationLink(destination: SecondView()) {
                   Text("दूसरे व्यू पर जाएं")
               }
           }
           .navigationTitle("मुख्य स्क्रीन")
       }
   }

}

struct SecondView: View {

   var body: some View {
       Text("दूसरा व्यू")
           .navigationTitle("दूसरा स्क्रीन")
   }

}

struct ContentView_Previews: PreviewProvider {

   static var previews: some View {
       ContentView()
   }

} ```

इस कोड में, `NavigationView` एक नेविगेशन बार (navigation bar) प्रदान करता है जिसमें एक शीर्षक और एक `NavigationLink` होता है। जब `NavigationLink` पर क्लिक किया जाता है, तो `SecondView` प्रदर्शित होता है।

स्विफ्टयूआई में फॉर्म का उपयोग करना

स्विफ्टयूआई में फॉर्म का उपयोग करके आप डेटा इनपुट (data input) के लिए एक इंटरफ़ेस (interface) बना सकते हैं। यहां एक उदाहरण दिया गया है जो एक फॉर्म प्रदर्शित करता है जिसमें एक टेक्स्ट फ़ील्ड और एक बटन होता है:

```swift import SwiftUI

struct ContentView: View {

   @State private var name = ""
   var body: some View {
       Form {
           TextField("नाम दर्ज करें", text: $name)
           Button("सबमिट करें") {
               // फॉर्म सबमिट होने पर कार्रवाई
               print("नाम: \(name)")
           }
       }
   }

}

struct ContentView_Previews: PreviewProvider {

   static var previews: some View {
       ContentView()
   }

} ```

इस कोड में, `Form` व्यू एक टेक्स्ट फ़ील्ड और एक बटन प्रदर्शित करता है। `@State` प्रॉपर्टी रैपर का उपयोग `name` वेरिएबल को स्टेट वेरिएबल के रूप में घोषित करने के लिए किया जाता है। जब टेक्स्ट फ़ील्ड में टेक्स्ट बदलता है, तो `name` वेरिएबल स्वचालित रूप से अपडेट हो जाता है। जब बटन क्लिक किया जाता है, तो `name` वेरिएबल का मान कंसोल (console) में प्रिंट होता है।

स्विफ्टयूआई के लिए आगे की पढ़ाई

स्विफ्टयूआई एक शक्तिशाली और लचीला फ्रेमवर्क है। यहां कुछ संसाधन दिए गए हैं जो आपको स्विफ्टयूआई के बारे में अधिक जानने में मदद कर सकते हैं:

स्विफ्टयूआई के साथ प्रयोग करते रहें और नई चीजें सीखते रहें। यह एक रोमांचक तकनीक है जो आपको शानदार एप्लिकेशन बनाने में मदद कर सकती है।

बाइनरी ऑप्शन से संबंधित लिंक

हालांकि यह लेख स्विफ्टयूआई पर केंद्रित है, बाइनरी ऑप्शन में विशेषज्ञ के रूप में, मैं कुछ संबंधित विषयों के लिंक प्रदान कर सकता हूं जो आपके लिए उपयोगी हो सकते हैं:

अभी ट्रेडिंग शुरू करें

IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)

हमारे समुदाय में शामिल हों

हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री

Баннер