Yoga : OpenSource baru

Setiap design yang baik pasti diawali dengan layout yang baik.

Kunci utama dari setiap user interface adalah layout. Layout membangun konsistensi antar elemen interface sehingga halaman pengunjung atau pengguna aplikasi akan menikmati situs web atau aplikasi mobile. Selain itu, layout yang konsisten dapat menghemat banyak waktu untuk para developer.

Seiring berjalannya waktu, developer harus berdaptasi dengan ukuran layar yang berbeda, teknologi dan paradigma UX. Sepuluh tahun yang lalu, resolusi 1024X768 adalah resolusi layar yang paling umum. Sekarang ini , hanya kurang dari 4 persen saja dari layar. Meskipun kita tidak bisa memprediksi masa depan, mungkin kita akan beralih ke layar hologram dan interface 3D. Sampai saat itu, virtul dan augment reality, in-car display atau perangkat yang dapat dikenakan adalah revolusi yang sedang berlangsung. Banyak hal yang akan menjadi rumit.

Namun, design yang baik akan selalu  didasarkan pada pemikiran layout yang baik pula. Idealnya, untuk melancarkan, secara utuh, dan konsisten experience di seluruh platform, sistem layout yang unik harus digunakan. Sayangnya, dalam praktek yang universal solusi lintas platform masih belum cukup. Itu sebab nya kita menggunakan layout auto pada iOS, composable container pada android, dan framework berbasis CSS yang berbeda di web. Set beragam sistem layout membuat bangunan  untuk beberapa platform tidak  konsisten dan berbelit-belit. Ketika menargetkan platform yang berbeda, bug platform tertentu secara signifikan berkontribusi terhadap keterlambatan, biaya tambahan dan jam untuk mendevelop hilang.

 

Yoga Layout

Yoga-layout-engine

Facebook mempunyai tujuan untuk mengurangi masalah ini dengan menerapkan cross-platform layout library berbasis pada spesifikasi flexbox. Digunakan secara internal di facebook, yoga, css layout telah di rilis secara umum. Sementara facebook bermaksud untuk menjaga seluruh library sepenuhnya kompatibel dengan spesifikasi, itu akan menambah fungsionalitas tambahan dan properti untuk yoga, dalam menutupi area yang lebih luas dari sekenario.

Secara teknis, yoga adalah layout engine yang berdiri sendiri yang memungkinkan pengembang membangun layout untuk beberapa platform. Khusus dirancang untuk tujuan ini, yoga tidak support terhadap tabel, float atau styling properti yang tidak berdampak pada layout.

Basic yoga adalah bahasa C untuk kecepatan tapi dapat diperluas  untuk banyak platform dan framework. Jika anda mahir dalam Java, C#, Objective-C atau C, maka anda siap menggunakan library. Untuk saat ini, cross-platform library yang digunakan untuk proyek-proyek seperti react native, komponen untuk android dan oculus. Dalam waktu dekat, CSS-layout juga akan dimasukan ke dalam komponen kit itu. Beberapa contoh kode tersedia pada halaman github yoga. Coba anda telusuri lebih dalam

 

Instal Yoga

Menginstal yoga adalah dengan cara manual. Tambahkan library sebagai sub modul dan membangun yoga dengan buck. Buck  tidak diperlukan untuk menggunakan yoga karena anda dapa menggunakan pendekatan / cara lain yang lebih tradisional dengan mengintegrasikan library ke dalam sistem yang ada dengan memasukan library C dari direktori root yoga dam pilih bahasa yang ingin anda gunakan. Ada contoh built-in untuk pertama kali mulai. Coba perhatikan dua baris kode berikut.

$ git clone https://github.com/facebook/yoga.git
$ open yoga/YogaKit/YogaKitSample/YogaKitSample.xcodeproj

 

Atau jika anda malas, ada  JSFiddle untuk menguji library. Jelas, yoga akan tersedia di berbagai sistem manajemen.

Comments

comments