جاوا اسکریپت و کد ساکن (Native Code)
در یک نرم افزار سنتی تلفن همراه، تمام نرمافزار با لهجههای ساکن مانند Swift/Objective-C برای iOS و Java/Kotlin برای اندروید نوشته میشود. در React Native، نصیب عمدهای از منطق نرم افزار و رابط کاربری با جاوا اسکریپت نوشته می شود. با این حالا، نصیبهای ضروری که نیاز به تعامل با خصوصیتهای خاص پلتفرم (مانند دوربین، GPS، یا این طراحی اپلیکیشن در مشهد که عملکردهای گرافیکی سطح ذیل) دارا هستند، هنوز به طور کد ساکن نوشته میشوند.
۲. پل جاوا اسکریپت به ساکن (JavaScript to Native Bridge)
این Bridge قلب و روح کارکرد React Native میباشد. هنگامی شما یک نرم افزار React Native را ایفا می کنید، کد جاوا اسکریپت شما در یک اطراف Runtime جدا (معمولاً JavaScriptCore که بخشی از iOS و Android میباشد) انجام می گردد. این Runtime به طور بی واسطه به APIهای ساکن پلتفرم دسترسی ندارد. Bridge وظیفه برقراری رابطه در بین این دو اطراف را بر ذمه داراست:
فراخوانی متدهای ساکن: هنگامی کد جاوا اسکریپت شما نیاز به ایفا یک عملیات ساکن دارااست (برای مثالً اکران یک دکمه مستقر یا این که دسترسی به آلبوم عکس)، این درخواست از روش Bridge به ماژولهای مستقر (Native Modules) ارسال میشود.
بازگرداندن حادثه ها به جاوا اسکریپت: متقابلاً، هنگامی یک روی داد مستقر رخداد میفتد (برای مثالً استفاده کننده روی دکمهای که به وسیله کد مستقر رندر گردیده کلیک مینماید)، این روی داد از روش Bridge به کد جاوا اسکریپت بازگردانده میگردد تا منطق نرم افزار انجام گردد.
این رابطه به طور غیرهمفرصت (Asynchronous) و از روش سریالسازی پیامها (Message Serialization) ایفا میگردد. یعنی دادهها و امرها میان جاوا اسکریپت و نصیب ساکن به طور پیامهای JSON (معمولاً) رد و بدل می شوند.
۳. رندرینگ ساکن (Native Rendering)
یک کدام از مهمترین تفاوتهای React Native با کادرورکهای هیبریدی دیرین (مانند Cordova) درین نقطه میباشد. React Native به مکان به کارگیری از WebView (که در اصلً یک مرورگر خرد در نرم افزار میباشد)، کامپوننتهای جاوا اسکریپت شمارا به کامپوننتهای حقیقی وواقعی مستقر (Native UI Components) تبدیل مینماید.
هنگامی شما از ، ، در کد جاوا اسکریپت خویش استعمال می کنید، React Native دستوراتی را از روش Bridge به پلتفرم مستقر میفرستد.
پلتفرم ساکن این اوامر را اخذ کرده و متناظر با آن ها، ارکان UI ساکن (مانند UIView در iOS و android.view در اندروید) را ساختوساز مینماید و بر روی کاغذ اکران می دهد.
این بدان معناست که نرم افزار شما از به عبارتی ارکان UI به کارگیری مینماید که یک نرم افزار تماماً ساکن از آن ها استعمال مینماید. این مورد سبب به ظاهری آشنا و عملکردی جاری و مستقر می شود.
۴. مدیر Threadها
برای پرهیز از بسته شدن Thread اساسی UI و نگهداری جاری بودن نرم افزار، React Native از یک سری Thread به کارگیری مینماید:
UI Thread (Main Thread): مسئول رندر کردن رابط کاربری و مدیر ورودیهای استفاده کننده. این Thread می بایست آزاد باشد تا نرم افزار “فریز” نشود.
JavaScript Thread: مسئول اجرای کد جاوا اسکریپت شما، منطق تجاری و رئیس Bridge.
Native Modules Thread (ازروی اختیار): بعضا ماژولهای مستقر بغرنجخیس ممکن میباشد Threadهای مخصوص خویش را داشته باشند.
با مستقل کردن Thread جاوا اسکریپت از UI Thread، React Native ضمانت مینماید که حتی در صورتیکه کد جاوا اسکریپت شما درگیر محاسبات هنگفت باشد، رابط کاربری همچنان پاسخگو و جاری باقی بماند.
۵. Hot Reloading و Live Reloading
این خصوصیتها تجربیات توسعه و گسترشدهنده را به شدت بهبود می بخشند:
Live Reloading: زمانی فایلی را تغییرو تحول میدهید، تمام نرم افزار مجدداً بار گذاری میشود.
Hot Reloading: (که کارآمدتر میباشد) صرفا تغییرات کد شمارا به نرمافزار در حالا انجام تزریق مینماید سوای اینکه state فعلی نرم افزار را از دست بدهید. این فعالیت سبب میگردد بتوانید تغییرات را بلافاصلهً ملاحظه کنید.
تکامل به سمت معماری نو (Fabric و JSI)
React Native در اکنون تکامل به سمت یک معماری نو (که دربرگیرنده Fabric برای سیستم رندرینگ نو و JSI – JavaScript Interface برای بهبود رابطه با ساکن میباشد) میباشد. غرض این معماری کاهش تعلق به Bridge و خریداری کردن ارتباطی بدون واسطهخیس و کارآمدتر در بین جاوا اسکریپت و کد ساکن میباشد تا سعی را حتی بیشتر بهبود بخشد و بسطدهندگان در دست گرفتن بیشتری داشته باشند.
کاربرد React Native در اپ نویسی چیست؟
React Native یک قابورک تمامیکاره برای توسعه و گسترش نرم افزارهای تلفن همراه میباشد که کاربردهای وسیعای داراست. اساسیترین و مهم ترین کاربرد آن، توسعه و گسترش نرم افزارهای تلفن همراه کراسپلتفرم (Cross-Platform Mobile Development) میباشد. این یعنی شما می توانید با یک کدبیس جاوا اسکریپت، نرم افزارهایی بنویسید که هم روی سیستمبرهان iOS (آیفون و آیپد) و هم روی سیستمبرهان اندروید (تلفن همراهها و تبلتهای اندرویدی) انجام شوند.
پیرو به جزئیات بیشتری از کاربردهای React Native اشاره میکنیم:
۱. تشکیل داد نرم افزارهای گوشی برای استحصالوکارهای خرد و استارتاپها (MVP Development)
برای استارتاپها و استخراجوکارهای خرد که میزان دارایی و فرصت محدودی دارا هستند، React Native یک مورد بهتر میباشد. با یک مجموعه توسعه و گسترشدهنده می توانند همزمان برای هر دو پلتفرم نرم افزار بسازند و فرآورده خویش را سریعخیس به بازار عرضه نمایند (MVP – Minimum Viable Product). این عمل به آن ها امداد مینماید تا برخورد نخستین یوزرها را سریعخیس اخذ کرده و در شکل نیاز، تغییرات را با گاز انجام نمایند.
۲. نرم افزارهای بیزنس الکترونیک (E-commerce Apps)
اکثری از نرم افزارهای دادوستد آنلاین از React Native به کارگیری مینمایند. این قابورک به پیشرفتدهندگان اذن میدهد تا یک تجارب کاربری جاری و برخوردگرا (responsive) را در هر دو پلتفرم ارائه دهند. خصوصیتهایی مانند آلبوم تولیدات، سبد خرید، سیستم پرداخت و رئیس سفارشات را میاقتدار به خیر با React Native پیادهسازی کرد. مثالهای پر اسم و رسم دربرگیرنده Walmart و Shopify میباشند.
۳. نرم افزارهای کانالهای اجتماعی و ارتباطی (Social Media & Communication Apps)
از آنجایی که React Native به وسیله صورتبوک تشکیل شده، منطقی میباشد که برای نرم افزارهای کانالهای اجتماعی حاذق باشد. نرم افزارهایی مانند Instagram و بخشی از Facebook خویش از React Native استعمال مینمایند. این کادرورک برای رئیس وسعت بالای دادهها، اعلانها (Notifications) و تعاملات کاربری مطلوب میباشد.
۴. نرم افزارهای چندرسانهای و استریم (Multimedia & Streaming Apps)
نرم افزارهای پخش موسیقی، کلیپ و پادکست می توانند از React Native فایده ببرند. با اعتنا به نیاز این نوع نرم افزارها به پیاده سازی رابط کاربری گوشی جالب و کارایی عالی، React Native می تواند آیتم قابل قبولی باشد. SoundCloud Pulse و Hulu به عنوان مثال این نرم افزارها می باشند.
۵. نرم افزارهای سالم و تناسب اندام (Health & Fitness Apps)
این نوع نرم افزارها که نیاز به ردیابی دادهها، اکران نمودارها و تعامل با سنسورهای دستگاه داراهستند، می توانند با React Native ساخته شوند. Gyroscope یک کدام از مثالهای برنده در این مورد میباشد.
۶. نرم افزارهای ابزاری و سودوری (Utility & Productivity Apps)
ابزارهایی مانند اپهای مدیر امور، یادداشتبرداری، مدیر مالی، یا این که حتی اسکنرها و ابزارهای دستکاری بی آلایش، می توانند با React Native توسعه و گسترش یابند. این نرم افزارها معمولاً نیاز به دسترسی به خصوصیتهای ساکن دستگاه داراهستند که React Native آن را ممکن میسازد.
۷. گسترش مثال اول و ثابت معنا (Prototyping & Proof of Concept – POC)
سرعت بالای توسعه و گسترش و قابلیت و امکان Hot Reloading در React Native، آن را برای تشکیل داد مثالهای نخستین (Prototype) یا این که ثابت معنا (POC) یک ایده نو بسیار مطلوب مینماید. این قابلیت را میدهد تا یک ایده بهسرعت به یک کالا قابل لمس تبدیل گردد و در فازهای اول پروژه آزمایش خواهد شد.
۸. نرم افزارهای اتفاق افتاد و بلیتفروشی (Event & Ticketing Apps)
برای رئیس حوادث، اکران جدول وقتی، خرید بلیط و اعلانهای مرتبط با حادثه ها، React Native قادر است یک گزینش کارآمد باشد.
۹. گسترش نرم افزارهای دسکتاپ (Desktop App Development)
بالاتر از گوشی، با استعمال از پروژههایی مانند React Native for Windows و React Native for macOS، میاقتدار نرم افزارهای دسکتاپ را نیز با React Native بسط بخشید. این پیشرفت پلتفرم، کاربرد آن را بیش تر از پیش ارتقا میدهد.
در مجموع، React Native برای اکثر اشکال نرم افزارهای گوشی مطلوب میباشد، مگر در مواقعی که نیاز به کارایی فوقالعاده بالا، گرافیک سهآتی بسیار غامض، یا این که دسترسی بسیار عمیق به APIهای مستقر وجود داشته باشد که در آن شکل توسعه و گسترش به طور کاملً مستقر ممکن میباشد آیتم بهتری باشد.
یادگرفتن استارت فعالیت با ری اکت نیتیو
در حالتی که مهیااید تا وارد دنیای تشکیل داد نرم افزارهای گوشی با جاوا اسکریپت گردید، یادگیری React Native یک گزینش بهتر میباشد! یادگرفتن ری اکت نیتیو از شالوده قادر است پاره ای بحرانبرانگیز به حیث رسد، البته با یک مسیر معین، خیلی زود میتوانید اولین نرم افزار خویش را بسازید. در اینجا یک راهنمای قدم به قدم برای استارت شغل با React Native را برایتان آوردهایم.
پیشنیازهای یادگیری ری اکت نیتیو
پیش از نصب ری اکت نیتیو و آغاز به کدنویسی، بایستی مطمئن گردید که ابزارهای نخستین ما یحتاج را در سیستمتان دارید:
Node.js و npm (یا این که Yarn): اینها دور و بر مجال اجرای جاوا اسکریپت و رئیس بسته آن می باشند. React Native برای ایفا و رئیس تعلقهای پروژه به آن ها نیاز دارااست. میتوانید Node.js را از اینترنتتارنما قانونی آن (nodejs.org) دانلود و نصب نمایید. npm به طور اتوماتیک با Node.js نصب می شود.
JDK (Java Development Kit) برای اندروید: در شرایطیکه قصد دارید برای تشکیل داد نرم افزار اندروید به کار گیری فرمائید، نیاز به نصب JDK دارید.
Xcode برای iOS (صرفا برای مک): در صورتیکه می خواهید برای iOS نرم افزار بسازید، می بایست Xcode را از App Store (تنها روی سیستمبرهان macOS) نصب فرمائید.
جاوا اسکریپت و کد ساکن (Native Code)
در یک نرم افزار سنتی تلفن همراه، تمام نرمافزار با لهجههای ساکن مانند Swift/Objective-C برای iOS و Java/Kotlin برای اندروید نوشته میشود. در React Native، نصیب عمدهای از منطق نرم افزار و رابط کاربری با جاوا اسکریپت نوشته می شود. با این حالا، نصیبهای ضروری که نیاز به تعامل با خصوصیتهای خاص پلتفرم (مانند دوربین، GPS، یا این طراحی اپلیکیشن در مشهد که عملکردهای گرافیکی سطح ذیل) دارا هستند، هنوز به طور کد ساکن نوشته میشوند.
۲. پل جاوا اسکریپت به ساکن (JavaScript to Native Bridge)
این Bridge قلب و روح کارکرد React Native میباشد. هنگامی شما یک نرم افزار React Native را ایفا می کنید، کد جاوا اسکریپت شما در یک اطراف Runtime جدا (معمولاً JavaScriptCore که بخشی از iOS و Android میباشد) انجام می گردد. این Runtime به طور بی واسطه به APIهای ساکن پلتفرم دسترسی ندارد. Bridge وظیفه برقراری رابطه در بین این دو اطراف را بر ذمه داراست:
فراخوانی متدهای ساکن: هنگامی کد جاوا اسکریپت شما نیاز به ایفا یک عملیات ساکن دارااست (برای مثالً اکران یک دکمه مستقر یا این که دسترسی به آلبوم عکس)، این درخواست از روش Bridge به ماژولهای مستقر (Native Modules) ارسال میشود.
بازگرداندن حادثه ها به جاوا اسکریپت: متقابلاً، هنگامی یک روی داد مستقر رخداد میفتد (برای مثالً استفاده کننده روی دکمهای که به وسیله کد مستقر رندر گردیده کلیک مینماید)، این روی داد از روش Bridge به کد جاوا اسکریپت بازگردانده میگردد تا منطق نرم افزار انجام گردد.
این رابطه به طور غیرهمفرصت (Asynchronous) و از روش سریالسازی پیامها (Message Serialization) ایفا میگردد. یعنی دادهها و امرها میان جاوا اسکریپت و نصیب ساکن به طور پیامهای JSON (معمولاً) رد و بدل می شوند.
۳. رندرینگ ساکن (Native Rendering)
یک کدام از مهمترین تفاوتهای React Native با کادرورکهای هیبریدی دیرین (مانند Cordova) درین نقطه میباشد. React Native به مکان به کارگیری از WebView (که در اصلً یک مرورگر خرد در نرم افزار میباشد)، کامپوننتهای جاوا اسکریپت شمارا به کامپوننتهای حقیقی وواقعی مستقر (Native UI Components) تبدیل مینماید.
هنگامی شما از ، ، در کد جاوا اسکریپت خویش استعمال می کنید، React Native دستوراتی را از روش Bridge به پلتفرم مستقر میفرستد.
پلتفرم ساکن این اوامر را اخذ کرده و متناظر با آن ها، ارکان UI ساکن (مانند UIView در iOS و android.view در اندروید) را ساختوساز مینماید و بر روی کاغذ اکران می دهد.
این بدان معناست که نرم افزار شما از به عبارتی ارکان UI به کارگیری مینماید که یک نرم افزار تماماً ساکن از آن ها استعمال مینماید. این مورد سبب به ظاهری آشنا و عملکردی جاری و مستقر می شود.
۴. مدیر Threadها
برای پرهیز از بسته شدن Thread اساسی UI و نگهداری جاری بودن نرم افزار، React Native از یک سری Thread به کارگیری مینماید:
UI Thread (Main Thread): مسئول رندر کردن رابط کاربری و مدیر ورودیهای استفاده کننده. این Thread می بایست آزاد باشد تا نرم افزار “فریز” نشود.
JavaScript Thread: مسئول اجرای کد جاوا اسکریپت شما، منطق تجاری و رئیس Bridge.
Native Modules Thread (ازروی اختیار): بعضا ماژولهای مستقر بغرنجخیس ممکن میباشد Threadهای مخصوص خویش را داشته باشند.
با مستقل کردن Thread جاوا اسکریپت از UI Thread، React Native ضمانت مینماید که حتی در صورتیکه کد جاوا اسکریپت شما درگیر محاسبات هنگفت باشد، رابط کاربری همچنان پاسخگو و جاری باقی بماند.
۵. Hot Reloading و Live Reloading
این خصوصیتها تجربیات توسعه و گسترشدهنده را به شدت بهبود می بخشند:
Live Reloading: زمانی فایلی را تغییرو تحول میدهید، تمام نرم افزار مجدداً بار گذاری میشود.
Hot Reloading: (که کارآمدتر میباشد) صرفا تغییرات کد شمارا به نرمافزار در حالا انجام تزریق مینماید سوای اینکه state فعلی نرم افزار را از دست بدهید. این فعالیت سبب میگردد بتوانید تغییرات را بلافاصلهً ملاحظه کنید.
تکامل به سمت معماری نو (Fabric و JSI)
React Native در اکنون تکامل به سمت یک معماری نو (که دربرگیرنده Fabric برای سیستم رندرینگ نو و JSI – JavaScript Interface برای بهبود رابطه با ساکن میباشد) میباشد. غرض این معماری کاهش تعلق به Bridge و خریداری کردن ارتباطی بدون واسطهخیس و کارآمدتر در بین جاوا اسکریپت و کد ساکن میباشد تا سعی را حتی بیشتر بهبود بخشد و بسطدهندگان در دست گرفتن بیشتری داشته باشند.
کاربرد React Native در اپ نویسی چیست؟
React Native یک قابورک تمامیکاره برای توسعه و گسترش نرم افزارهای تلفن همراه میباشد که کاربردهای وسیعای داراست. اساسیترین و مهم ترین کاربرد آن، توسعه و گسترش نرم افزارهای تلفن همراه کراسپلتفرم (Cross-Platform Mobile Development) میباشد. این یعنی شما می توانید با یک کدبیس جاوا اسکریپت، نرم افزارهایی بنویسید که هم روی سیستمبرهان iOS (آیفون و آیپد) و هم روی سیستمبرهان اندروید (تلفن همراهها و تبلتهای اندرویدی) انجام شوند.
پیرو به جزئیات بیشتری از کاربردهای React Native اشاره میکنیم:
۱. تشکیل داد نرم افزارهای گوشی برای استحصالوکارهای خرد و استارتاپها (MVP Development)
برای استارتاپها و استخراجوکارهای خرد که میزان دارایی و فرصت محدودی دارا هستند، React Native یک مورد بهتر میباشد. با یک مجموعه توسعه و گسترشدهنده می توانند همزمان برای هر دو پلتفرم نرم افزار بسازند و فرآورده خویش را سریعخیس به بازار عرضه نمایند (MVP – Minimum Viable Product). این عمل به آن ها امداد مینماید تا برخورد نخستین یوزرها را سریعخیس اخذ کرده و در شکل نیاز، تغییرات را با گاز انجام نمایند.
۲. نرم افزارهای بیزنس الکترونیک (E-commerce Apps)
اکثری از نرم افزارهای دادوستد آنلاین از React Native به کارگیری مینمایند. این قابورک به پیشرفتدهندگان اذن میدهد تا یک تجارب کاربری جاری و برخوردگرا (responsive) را در هر دو پلتفرم ارائه دهند. خصوصیتهایی مانند آلبوم تولیدات، سبد خرید، سیستم پرداخت و رئیس سفارشات را میاقتدار به خیر با React Native پیادهسازی کرد. مثالهای پر اسم و رسم دربرگیرنده Walmart و Shopify میباشند.
۳. نرم افزارهای کانالهای اجتماعی و ارتباطی (Social Media & Communication Apps)
از آنجایی که React Native به وسیله صورتبوک تشکیل شده، منطقی میباشد که برای نرم افزارهای کانالهای اجتماعی حاذق باشد. نرم افزارهایی مانند Instagram و بخشی از Facebook خویش از React Native استعمال مینمایند. این کادرورک برای رئیس وسعت بالای دادهها، اعلانها (Notifications) و تعاملات کاربری مطلوب میباشد.
۴. نرم افزارهای چندرسانهای و استریم (Multimedia & Streaming Apps)
نرم افزارهای پخش موسیقی، کلیپ و پادکست می توانند از React Native فایده ببرند. با اعتنا به نیاز این نوع نرم افزارها به پیاده سازی رابط کاربری گوشی جالب و کارایی عالی، React Native می تواند آیتم قابل قبولی باشد. SoundCloud Pulse و Hulu به عنوان مثال این نرم افزارها می باشند.
۵. نرم افزارهای سالم و تناسب اندام (Health & Fitness Apps)
این نوع نرم افزارها که نیاز به ردیابی دادهها، اکران نمودارها و تعامل با سنسورهای دستگاه داراهستند، می توانند با React Native ساخته شوند. Gyroscope یک کدام از مثالهای برنده در این مورد میباشد.
۶. نرم افزارهای ابزاری و سودوری (Utility & Productivity Apps)
ابزارهایی مانند اپهای مدیر امور، یادداشتبرداری، مدیر مالی، یا این که حتی اسکنرها و ابزارهای دستکاری بی آلایش، می توانند با React Native توسعه و گسترش یابند. این نرم افزارها معمولاً نیاز به دسترسی به خصوصیتهای ساکن دستگاه داراهستند که React Native آن را ممکن میسازد.
۷. گسترش مثال اول و ثابت معنا (Prototyping & Proof of Concept – POC)
سرعت بالای توسعه و گسترش و قابلیت و امکان Hot Reloading در React Native، آن را برای تشکیل داد مثالهای نخستین (Prototype) یا این که ثابت معنا (POC) یک ایده نو بسیار مطلوب مینماید. این قابلیت را میدهد تا یک ایده بهسرعت به یک کالا قابل لمس تبدیل گردد و در فازهای اول پروژه آزمایش خواهد شد.
۸. نرم افزارهای اتفاق افتاد و بلیتفروشی (Event & Ticketing Apps)
برای رئیس حوادث، اکران جدول وقتی، خرید بلیط و اعلانهای مرتبط با حادثه ها، React Native قادر است یک گزینش کارآمد باشد.
۹. گسترش نرم افزارهای دسکتاپ (Desktop App Development)
بالاتر از گوشی، با استعمال از پروژههایی مانند React Native for Windows و React Native for macOS، میاقتدار نرم افزارهای دسکتاپ را نیز با React Native بسط بخشید. این پیشرفت پلتفرم، کاربرد آن را بیش تر از پیش ارتقا میدهد.
در مجموع، React Native برای اکثر اشکال نرم افزارهای گوشی مطلوب میباشد، مگر در مواقعی که نیاز به کارایی فوقالعاده بالا، گرافیک سهآتی بسیار غامض، یا این که دسترسی بسیار عمیق به APIهای مستقر وجود داشته باشد که در آن شکل توسعه و گسترش به طور کاملً مستقر ممکن میباشد آیتم بهتری باشد.
یادگرفتن استارت فعالیت با ری اکت نیتیو
در حالتی که مهیااید تا وارد دنیای تشکیل داد نرم افزارهای گوشی با جاوا اسکریپت گردید، یادگیری React Native یک گزینش بهتر میباشد! یادگرفتن ری اکت نیتیو از شالوده قادر است پاره ای بحرانبرانگیز به حیث رسد، البته با یک مسیر معین، خیلی زود میتوانید اولین نرم افزار خویش را بسازید. در اینجا یک راهنمای قدم به قدم برای استارت شغل با React Native را برایتان آوردهایم.
پیشنیازهای یادگیری ری اکت نیتیو
پیش از نصب ری اکت نیتیو و آغاز به کدنویسی، بایستی مطمئن گردید که ابزارهای نخستین ما یحتاج را در سیستمتان دارید:
Node.js و npm (یا این که Yarn): اینها دور و بر مجال اجرای جاوا اسکریپت و رئیس بسته آن می باشند. React Native برای ایفا و رئیس تعلقهای پروژه به آن ها نیاز دارااست. میتوانید Node.js را از اینترنتتارنما قانونی آن (nodejs.org) دانلود و نصب نمایید. npm به طور اتوماتیک با Node.js نصب می شود.
JDK (Java Development Kit) برای اندروید: در شرایطیکه قصد دارید برای تشکیل داد نرم افزار اندروید به کار گیری فرمائید، نیاز به نصب JDK دارید.
Xcode برای iOS (صرفا برای مک): در صورتیکه می خواهید برای iOS نرم افزار بسازید، می بایست Xcode را از App Store (تنها روی سیستمبرهان macOS) نصب فرمائید.

منزلت تبلیغ در حاصل گوگل