Kerangka kerja Go yang sederhana, modular, dan mudah diamati untuk aplikasi backend.
Membangun aplikasi backend dengan Go sungguh menakjubkan.
Namun untuk membangun aplikasi production-grade
, Anda perlu menerapkan banyak upaya dan kode boilerplate, yang menimbulkan kompleksitas yang bahkan tidak terkait dengan logika aplikasi Anda (seperti pengkabelan dependensi, manajemen konfigurasi, instrumentasi observabilitas, dll.).
Untuk mengatasi hal ini, Yokai diciptakan dengan tujuan sebagai berikut:
Simple
: mudah digunakan, dikonfigurasi, dan diuji, memungkinkan Anda melakukan iterasi dengan cepat dan menghadirkan aplikasi yang dapat dipelihara dengan cepat.Modular
: dapat diperluas dengan modul Yokai yang tersedia, atau dengan modul Anda sendiri, untuk membangun aplikasi yang dapat dikembangkan.Observable
: dilengkapi dengan instrumentasi logging, penelusuran, dan metrik bawaan, untuk membangun aplikasi yang andal.Dengan kata lain, Yokai memungkinkan Anda fokus pada logika aplikasi Anda, sambil mengurus sisanya.
documentation
Yokai tersedia di https://ankorstore.github.io/yokai.
core modules
Yokai melakukan pramuat logging, penelusuran, metrik, dan instrumentasi pemeriksaan kesehatan, serta mengekspos server HTTP pribadi untuk kebutuhan infrastruktur dan debugging.extensions modules
Yokai dapat ditambahkan untuk memperkaya fitur aplikasi Anda, seperti server HTTP/gRPC publik, pekerja, ORM, dll. Anda juga dapat menambahkan modul contrib atau milik Anda sendiri.dependency injection system
Yokai, yang dapat Anda andalkan untuk membangun logika aplikasi Anda. Yokai dibangun menggunakan perpustakaan Go robust
dan well known
, seperti:
extension system
Yokai memungkinkan Anda enrich
fitur aplikasi Anda dengan:
built-in
Yokai Yokai menyediakan application templates
siap pakai untuk memulai proyek Anda:
Yokai menyediakan repositori showroom dengan demo applications
, siap dijalankan, untuk melihatnya beraksi:
Repositori ini menggunakan rilis-mohon untuk mengotomatiskan proses rilis modul Yokai.
Penting
Anda harus memberikan komitmen atomik dan konvensional, karena proses rilis bergantung pada komitmen tersebut untuk menentukan versi yang akan dirilis dan untuk menghasilkan catatan rilis.