Tidak terawat
Proyek ini tidak lagi digunakan oleh LinkedIn dan saat ini tidak terawat.
LayoutKit adalah perpustakaan tata letak tampilan cepat untuk iOS, macOS, dan TVOS.
Motivasi
LinkedIn membuat tata letak karena kami telah menemukan bahwa tata letak otomatis tidak cukup kinerja untuk hierarki tampilan yang rumit dalam tampilan yang dapat digulir. Untuk latar belakang lebih lanjut, baca posting blog.
Manfaat
LayoutKit memiliki banyak manfaat daripada menggunakan tata letak otomatis:
- Cepat : LayoutKit secepat kode tata letak manual dan secara signifikan lebih cepat daripada tata letak otomatis.
- Asynchronous : Tata letak dapat dihitung dalam utas latar belakang sehingga interaksi pengguna tidak terganggu.
- Deklaratif : Tata letak dinyatakan dengan struktur data yang tidak dapat diubah. Ini membuat kode tata letak lebih mudah untuk dikembangkan, mendokumentasikan, meninjau kode, menguji, men -debug, profil, dan mempertahankan.
- Cachable : Hasil tata letak adalah struktur data yang tidak dapat diubah sehingga dapat dikomputasi di latar belakang dan di -cache untuk meningkatkan kinerja yang dirasakan pengguna.
LayoutKit juga memberikan manfaat yang membuatnya mudah digunakan sebagai tata letak otomatis:
- UIKIT Friendly : LayoutKit memproduksi UIVIEWS dan juga menyediakan adaptor yang membuatnya mudah digunakan dengan UITableView dan UICollectionView.
- Internasionalisasi : LayoutKit secara otomatis menyesuaikan frame tampilan untuk bahasa kanan-ke-kiri.
- Swift : LayoutKit dapat digunakan dalam aplikasi Swift dan taman bermain.
- Tes dan Produksi Siap : Layoutkit dicakup oleh unit tes dan sedang digunakan di dalam versi terbaru dari aplikasi iOS pencarian pekerjaan LinkedIn dan LinkedIn.
- Open-Source : Bukan kotak hitam seperti tata letak otomatis.
- Lisensi Apache (V2) : Pengacara Anda akan senang bahwa tidak ada shenanigans paten.
Halo dunia
let image = SizeLayout < UIImageView > ( width : 50 , height : 50 , config : { imageView in
imageView . image = UIImage ( named : " earth.jpg " )
} )
let label = LabelLayout ( text : " Hello World! " , alignment : . center )
let stack = StackLayout (
axis : . horizontal ,
spacing : 4 ,
sublayouts : [ image , label ] )
let insets = UIEdgeInsets ( top : 4 , left : 4 , bottom : 4 , right : 8 )
let helloWorld = InsetLayout ( insets : insets , sublayout : stack )
helloWorld . arrangement ( ) . makeViews ( in : rootView ) 
Batasan
Kami telah menemukan LayoutKit menjadi alat yang berguna, tetapi Anda harus menyadari apa yang bukan.
- LayoutKit bukan sistem tata letak berbasis kendala. Jika Anda ingin mengungkapkan kendala di antara pandangan, maka pandangan itu harus anak -anak dari tata letak tunggal yang mengimplementasikan kode untuk menegakkan kendala itu.
- LayoutKit bukan Flexbox, tetapi Anda mungkin menemukan kesamaan.
Instalasi
LayoutKit dapat dipasang dengan cocoapods atau carthage.
Cocoapods
Tambahkan ini ke podspec Anda:
Kemudian jalankan pod install .
Kartago
Tambahkan ini ke cartfile Anda:
github "linkedin/LayoutKit"
Kemudian jalankan carthage update .
Dokumentasi
Sekarang Anda siap untuk mulai membangun UI.