

Kerangka kerja server modern yang ringan, fleksibel, ditulis dalam Swift.
Hummingbird adalah kerangka kerja aplikasi web modern yang ringan dan fleksibel yang berjalan di atas implementasi server berbasis Swiftnio. Ini dirancang untuk membutuhkan jumlah minimum dependensi.
Ini menyediakan router untuk mengarahkan titik akhir yang berbeda ke penangan mereka, middleware untuk memproses permintaan sebelum mereka mencapai penangan Anda dan memproses tanggapan yang dikembalikan, pengkodean/penguraian kustom dari permintaan/respons, TLS dan HTTP2.
import Hummingbird
// create router and add a single GET /hello route
let router = Router ( )
router . get ( " hello " ) { request , _ -> String in
return " Hello "
}
// create application using router
let app = Application (
router : router ,
configuration : . init ( address : . hostname ( " 127.0.0.1 " , port : 8080 ) )
)
// run hummingbird application
try await app . runService ( )Inti Hummingbird dirancang agar minim, dengan fitur tambahan yang disediakan melalui ekstensi. Berikut beberapa ekstensi resmi:
HummingbirdRouter : Router alternatif menggunakan pembangun hasilHummingbirdTLS : Dukungan TLSHummingbirdHTTP2 : Dukungan Peningkatan HTTP2HummingbirdTesting : Fungsi pembantu untuk menguji proyek burung kolibriEkstensi berikut tersedia dalam repositori terpisah:
Anda dapat menemukan dokumentasi referensi dan panduan pengguna untuk Hummingbird di sini. Repositori Hummingbird-Apposples memiliki sejumlah contoh penggunaan perpustakaan yang berbeda.
Tambahkan yang berikut ke file Package.swift Anda:
dependencies: [
. package ( url : " https://github.com/hummingbird-project/hummingbird.git " , from : " 2.0.0 " )
] ,
targets: [
. executableTarget (
name : " MyApp " ,
dependencies : [
. target ( name : " Hummingbird " ) ,
] ) ,
] Atau jalankan perintah berikut pada paket Anda menggunakan SwiftPM, mengganti MyApp dengan nama target Anda:
swift package add - dependency https : //github.com/hummingbird-project/hummingbird.git --from 2.0.0
swift package add - target - dependency Hummingbird MyAppKami menyambut kontribusi untuk Hummingbird! Silakan baca pedoman yang berkontribusi sebelum mengirimkan permintaan tarik.
Hummingbird dirilis di bawah lisensi Apache 2.0.