मुख्य सामग्री पर जाएँ
CrossFly 100% ओपन सोर्सGitHub पर फ़ॉलो करें
CrossFlyCrossFly
शुरू करें

यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।

12. प्रकाशित करना

आप क्या सीखेंगे: चक्र को पूरा करना — प्रत्येक प्लेटफ़ॉर्म के लिए ऐप को पैकेज करना। पूर्वापेक्षाएँ: अपने ऐप का परीक्षण करना.

पूर्ण उदाहरण (कॉपी करें, पेस्ट करें और चलाएँ)

वह एंट्री पॉइंट जिसे Main classname द्वारा इंस्टैंशिएट करता है (reflexão, बिना-args वाला कंस्ट्रक्टर) — वही core चारों launchers पर चलता है। यह न्यूनतम और स्वयं-निहित MainWindow वही है जिसे प्रत्येक टारगेट पैकेज करता है। जैसा है वैसा ही कंपाइल होता है।

package com.exemplo;

import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;

public class MainWindow extends Window
{
   @Override
   public void onShow() throws Exception
   {
      super.onShow();
      setLayout(new VerticalLayout());

      add(LAY_AUTO, new Label("Meu app CrossFly"));

      Button ola = new Button("Olá, mundo!");
      ola.onAction(c -> Hint.show("Rodando em todas as plataformas", 2000));
      add(LAY_AUTO, ola);
   }
}

नीचे दिए गए स्निपेट केवल मुख्य भाग दिखाते हैं (जो onShow() के अंदर जाता है)। चलाने के लिए, उन्हें ऊपर दिए गए MainWindow ढाँचे में रखें।

एक कोड, चार टारगेट

वही core सभी launchers पर चलता है:

टारगेट Build
🖥️ Desktop gradlew :lwjgl3:run (dev) / jar / इंस्टॉलर
🤖 Android gradlew :android:installDebug / assembleRelease (AAB)
🍎 iOS gradlew :ios:launchIPhoneSimulator / .ipa (macOS+Xcode)
🌐 Web gradlew :web:webBundle → स्थैतिक सामग्री

bootstrap क्या सुनिश्चित करता है

Main आपकी MainWindow को classname द्वारा इंस्टैंशिएट करता है (reflexão, बिना-args वाला कंस्ट्रक्टर) — सभी टारगेट में वही। आइकन और assets (Roboto/Material फ़ॉन्ट bootstrap में लोड होते हैं) पैकेज के साथ जाते हैं।

“प्रकाशन के लिए तैयार” चेकलिस्ट

  • परीक्षित (अध्याय 11) और रिस्पॉन्सिव (अध्याय 10)।
  • प्लेटफ़ॉर्म के अनुसार अनुपलब्ध सुविधाओं को संभाला गया (देखें मैट्रिक्स)।
  • अनुमतियाँ: AndroidManifest.xml / Info.plist.
  • हस्ताक्षर (Android keystore / iOS provisioning)।
  • आइकन, launch screen, संस्करण।

कोर्स का अंत — और अब?

आपने एक ऐसा ऐप बनाया जो खुलता है, जोड़ता है, नेविगेट करता है, स्थायी रखता है, अनुकूलित होता है और परीक्षित है — और उसे पैकेज किया। यहाँ से:

संक्षेप में

एक core, चार Gradle launchers; MainWindow classname द्वारा; प्रति प्लेटफ़ॉर्म release चेकलिस्ट।

यह भी देखें

क्या यह पृष्ठ उपयोगी था?