Kitaplık ve çalıştırılabilir paketler
SwiftPM'deki kitaplık ve çalıştırılabilir paketlerin farkını anlayın: ürünleri/hedefleri nasıl tanımlayacağınızı, kitaplıkları nasıl kullanacağınızı ve çalıştırılabilirleri nasıl çalıştıracağınızı öğrenin.
Kitaplık ve çalıştırılabilir paketler, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 3 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 3 dersten oluşur.
İki ürün türü
SwiftPM paketleri bir kitaplık (içe aktarılacak kod) veya bir çalıştırılabilir (çalıştırılabilir bir araç) olarak sunulabilir.
Package.swiftiçinde ürünleri bildirin- Hedefleri ve kaynakları düzenleyin
- Kitaplıkları kullanın; çalıştırılabilirleri çalıştırın
Kitaplık ürünü temelleri
Bir kitaplık, başkalarının import edebileceği modüller sunar. Giriş noktası gerekmez.
// Package.swift (illustrative library)
// import PackageDescription
// let package = Package(
// name: "GreeterLib",
// products: [
// .library(name: "GreeterLib", targets: ["GreeterLib"]),
// ],
// targets: [
// .target(name: "GreeterLib"),
// .testTarget(name: "GreeterLibTests", dependencies: ["GreeterLib"]),
// ]
// )
//
// Sources/GreeterLib/Greeter.swift
public struct Greeter {
public init() {}
public func hello(_ name: String) -> String { "Hello, \\(name)!" }
}
print(Greeter().hello("Ana")) // demo runÇalıştırılabilir ürün temelleri
Bir çalıştırılabilir ürünün bir giriş noktası (main.swift) vardır ve çalıştırılabilir bir ikili dosya (swift run) oluşturur.
// Package.swift (illustrative executable)
// import PackageDescription
// let package = Package(
// name: "greeter",
// products: [ .executable(name: "greeter", targets: ["App"]) ],
// targets: [ .executableTarget(name: "App") ]
// )
//
// Sources/App/main.swift
let args = CommandLine.arguments.dropFirst()
let who = args.first ?? "world"
print("Hello, \\(who)")Kitaplıklara bağımlılık
Bir kitaplığı içe aktarmak için tüketici pakette .package ve .product kullanın. Anlamsal sürümlerle sabitleyin (ör. from: "1.0.0").
// In the consumer's Package.swift (illustrative):
// dependencies: [
// .package(url: "https://example.com/GreeterLib.git", from: "1.0.0")
// ],
// targets: [
// .executableTarget(
// name: "App",
// dependencies: [ .product(name: "GreeterLib", package: "GreeterLib") ]
// )
// ]
//
// Sources/App/main.swift
// import GreeterLib
struct Dummy {}
print("Add import GreeterLib in your app to use its APIs.")Sorumlulukları ayırma
Kodu paylaşın: temel mantığı bir kitaplığa koyun ve çalıştırılabilir ürünü ince bir sarmalayıcı olarak tutun.
// Package.swift can expose both a library and an executable:
// products: [
// .library(name: "GreeterLib", targets: ["GreeterLib"]),
// .executable(name: "greeter", targets: ["GreeterCLI"]),
// ],
// targets: [
// .target(name: "GreeterLib"),
// .executableTarget(name: "GreeterCLI", dependencies: ["GreeterLib"]),
// ]
//
// Reuse logic in the library; keep CLI thin.
print("Tip: put reusable logic in the library; the CLI depends on it.")Derleme ve çalıştırma komutları
Kitaplıkları swift build ile derleyin ve swift test ile test edin. Çalıştırılabilirleri swift run <name> aracılığıyla çalıştırın.
// Library: build & test
// swift build
// swift test
//
// Executable: run & release
// swift run greeter Ana
// swift build -c release
//
// Artifact:
// .build/release/greeter
print("Use swift run for executables; import libraries into apps.")Kitaplık ve çalıştırılabilir tanımı
Hızlı kontrol: SwiftPM'de kitaplığı çalıştırılabilir üründen ayıran nedir?
Özet
Özet: Uygulamalar arasında kod paylaşmak için bir kitaplık, bir CLI/aracı sunmak içinse bir çalıştırılabilir kullanın. Ürünleri ve hedefleri Package.swift içinde bildirin; kitaplıklara .package + .product aracılığıyla bağımlılık ekleyin.
Sıkça Sorulan Sorular
“Kitaplık ve çalıştırılabilir paketler” dersi ücretsiz mi?
Evet — “Kitaplık ve çalıştırılabilir paketler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 3 dersten oluşur.
“Kitaplık ve çalıştırılabilir paketler” dersinde ne öğreneceğim?
SwiftPM'deki kitaplık ve çalıştırılabilir paketlerin farkını anlayın: ürünleri/hedefleri nasıl tanımlayacağınızı, kitaplıkları nasıl kullanacağınızı ve çalıştırılabilirleri nasıl çalıştıracağınızı öğ… Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 1. dersidir.
“Kitaplık ve çalıştırılabilir paketler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Kitaplık ve çalıştırılabilir paketler
- Anlamsal sürümleme ve sürümleri etiketleme
- swift test ve yapıtlarla CI temelleri