در کنار آموزش کاتلین، در این مقاله به بررسی آموزش کامل خروجی ios از کاتلین به زبان ساده پرداخته شده است. با دانشجویار همراه باشید.
خروجی ios از کاتلین
ایا می دانستید که می شود از برنامه ای که با کاتلین ساخته شده است خروجی ios گرفت؟ در این آموزش یاد میگیرد که چطور از برنامه ای که با زبان برنامه نویسی کاتلین ساخته شده است خروجی ios بگیرید.
این کار در سه مرحله انجام می گیرد که به ترتیب زیر است:
- ساخت پروژه ios در xcode
- اتصال فریمورک به پروژه ios
- استفاده از ماژول sharedدر swift برای خروجی گرفتن ios از کاتلین
ساخت پروژه ios در xcode
اولین کاری که لازم است برای خروجی گرفتن ios انجام دهید این است که یک پروژه درxcode ایجاد کنید. شما می توانید از قسمت File | New | Project یک پروژه جدید برای ios بسازید. پس از آن باید قالب پروژه را انتخاب کنید که طبق تصویر زیر ما قالب app را انتخاب کرده ایم.
پس از آن باید یک نام برای پروژه انتخاب کنید مانند simpleLoginIOS و بعد تایید کنید تا پروژه ساخته شود.
اتصال فریمورک به پروژه ios
در مرحله بعد نیاز است مکان پروژه را در یک دایکتوری مشخص کنید که در اندروید استودیو ساختار به شکل زیر است.
شما می توانید نام دایکتوری simpleLoginIOS را به نام دایکتوری iosApp نیز تغییر دهید. این کار برای سازگاری با سایر فهرست های سطح بالا پروژه شما می باشد و ضروری نیست.
استفاده از ماژول shared در swift برای خروجی گرفتن ios از کاتلین
در مرحله اخر xcode را بازکنید و در فایل ContentView.swift ماژول shared را با استفاده از دستور زیر وارد کنید.
import shared
برای بررسی درستی اتصال آن می توانید از تابع زیر در ماژول KMM استفاده کنید.
import SwiftUI
import shared
struct ContentView: View {
var body: some View {
Text(Greeting().greeting())
.padding()
}
}
و نمایش به صورت زیر است.
ارتباط بین کاتلین و سوفیت
در کاتلین/ نیتیو (Kotlin/Native) این قابلیت وجود دارد که با کتابخانه های (Objective-C/Swift) ارتباط دو طرفه بر قرار کند. مثلا شما می توانید از کتابخانه های برنامه نویسی Objective-C در پروژه کاتلین خود استفاده کنید و همچنین می توان از ماژول ها و کتابخانه های کاتلین در کد های سوفیت و ابجکت سی (Objective-C/Swift) استفاده کرد. علاوه بر این ویژگی، کاتلین دارای C Interop است . در این مطلب می خواهیم نحوه استفاده از کد های کاتلین/ نیتیو را توضیح دهیم تا بتوانید کدهای کاتلین را در برنامه های ios و macos به کار ببرید.
در مرحبه اول لازم است یک کتابخانه کاتلین در پروژه خود بسازید. کامپایلر کاتلین/ نیتیو (Kotlin/Native) می تواند فریم ورکی برای ios باشد. فریم ورکی که با کاتلین ایجاد می کنید شامل تمامی اطلاعات باینری مورد نیاز برای استفاده آن در Objective-C و Swift را داراست. برای شروع یک کتابخانه کوچک با استفاده از زبان برنامه نویسی کاتلین در پروژه ایجاد می کنیم. ما در اینجا در یک برنامه Objective-C استفاده کرده ایم.
یک فایل با نام hello.kt در پروژه ios خود ایجاد کنید و در آن کدهای زیر را قرار دهید.

package example
object Object {
val field = "A"
}
interface Interface {
fun iMember() {}
}
class Clazz : Interface {
fun member(p: Int): ULong? = 42UL
}
fun forIntegers(b: Byte, s: UShort, i: Int, l: ULong?) { }
fun forFloats(f: Float, d: Double?) { }
fun strings(str: String?) : String {
return "That is '$str' from C"
}
fun acceptFun(f: (String) -> String?) = f("Kotlin/Native rocks!")
fun supplyFun() : (String) -> String? = { "$it is cool!" }
فریم ورکی که با Kotlin/Native ساختید دارای ویژگی های دیگری است و با استفاده از سوفیت اسان تر می شود و شما می توانید با استفاده از کد زیر در main.swift داشته باشید.
import Foundation
import Demo
let kotlinObject = Object()
assert(kotlinObject === Object(), "Kotlin object has only one instance")
let field = Object().field
let clazz = Clazz()
clazz.member(p: 42)
LibKt.forIntegers(b: 1, s: 2, i: 3, l: 4)
LibKt.forFloats(f: 2.71, d: nil)
let ret = LibKt.acceptFun { "\($0) Kotlin is fun" }
if (ret != nil) {
print(ret!)
}
کد کاتلین در سوفیت به یک کد مشابه تبدیل شده است هرچند تفاوت هایی دارند حتی رشته های کاتلین به سوفیت تبدیل شده است و در سوفیت توابع کاتلین را فراخوانی کنیم مثلا Kotlin lambda را فراخوانی کنیم.
در نتیجه یاد گرفتیم که چطور برنامه ios از یک پلتفرم کاتلین بسازیم.
mohammad.t9600
سلام وقت بخیر
امکانش هست این موضوع را در قالب یک ویدیو آموزش دهید؟