The Final Architecture of Project UN

Kerjaan

Sambil nungguin GoT final, gw bisa update udah sampe mana project UN sekarang.

Hampir satu bulan terakhir ini gw akhirnya nemu arsitektur yang pas buat project ini. Sebelumnya, dari awal tahun 2017 emang ngebingungin. Ganti-ganti stack, teknlogi, tapi selalu gagal karena ngerasa arsitekturnya gak pas.

You know, arsitektur yang bener itu ngaruh buat jangka panjang. Of course, gw selalu pake Clojure, arsitektur pertama yang gw coba Luminus stack, yaa tapi gitu deh, banyak deps aneh dan kode-kode yang buat gw susah untuk debug nya.

Arsitektur kedua gw coba from scaratch ring + reagent + prostgres SQL. It works well until the frontend break. Yup, ketika kerja di bagian frontend gw secara gak sadar nambah terus accidental complexity.

Arsitektur ketiga ring + om next + postgres. It went wrong when I went wire up postgres and om next. Entah kenapa gw ngerasa selalu ada yang salah dengan kode gw. So, gw mutusin untuk ngeberhentiin stack ini.

Arsitektur ke-empat gw akhirnya pake framework untangeld (sekarang jadi fulcro) ini juga keren, karena di untangled ini based on om next lib dan gw gak terlalu musingin reconciler dan parser logic. Sampe akhirnya gw nemu much better server architecture.

So what architecture?!

Jadi, setelah kemaren dapet kesempatan sebentar ngebantuin project temen, yang secara gak sengaja gw liat stack dia cool banget. Mereka pake stack Pedestal + Datomic + Re-Frame + Material UI.

Pedestal over ring itu segalanya, hal-hal rumit yang gw lakuin di ring bisa dilakuin di pedestal dengan mudah banget, routing, middleware, server dll. Apalagi di pedestal gw bisa pake enterprise grade server kayak immutant!

Sayangnya, mereka ngaak pake Om Next dan Figwheel! Figwheel bagi gw tooling cant live without with. Sedangkan Om Next over Re-Frame karena Om Next punya reconciler dan Query yang bisa gantiin REST architecure.

Gw masih inget talk-nya data over api over dsl dari Stuart Halloway. Yang intinya gw baru sadar kalo Pedestal dan Om-next ngeimplementasiin ini.

Btw gw juga bikin template chestnut like but with Pedestal.

Yes, it much like coding with react kalo pake om-next, gak sesimple pake re-frame. Tapi gw yakin kalo apps udah gede Om Next bisa ngebantu di bagian Query dan Networkingnya. Apalagi wiring om-next dan datomic itu kyk PHP with mySQL.

Seneak peek time!

Gimana keren bukan! di atas gw pake om next + material-ui. šŸ˜‰

Leave a Comment

  • Eurus

    bang buat tutorial clojure(script) dong šŸ˜€ yg dari luar terlalu advance buat saya hahaha

    • nadiar

      Ok siap!