Mở đầu
Chắc các bạn đang sử dụng các framework của java, ruby, php, hay tồi tệ hơn là python / ruzt, cõ lẽ sẽ rất buồn khi nghe thấy người anh cả C++ đã có 1 framework riêng cho mình trong mảng web server.
Vậy nên hôm nay mình sẽ giới thiệu qua cho các bạn vì sao framework Drogon lại là tương lai của ngành web server trong vài câu từ dưới đây.
Link repo trước cho các bạn xem qua:
Tốc độ + Chịu tải
Vâng, luật bất thành văn trong ngành rồi, một webserver thì điều quan trọng nhất nó phải gánh vác đó là tốc độ phản hồi tới người dùng. Sau đó là mức độ chịu tải.
Hiện nay có thể nói chưa một framework nào vượt qua được Drogon trong 2 key-requirement này.
Proof:
=> Ngay cả rust actix gì gì đó cũng chỉ dám đứng sau Drogon bất bại của chúng ta.
Develop webapp + Bảo trì
Chắc hẳn các bạn đang nghĩ rằng, thời gian ngồi code C++ để ra được web app, thì thà tải vài cái laravel, hay express rồi chạy lệnh là có web, chứ mổ C++ thì có khi sau công nguyên cũng chưa release được cái web.
=> Bạn sai rồi bạn ơi
Mấy bạn đọc xong kiểu:
Vậy vì sao Drogon có thể hoà, thậm chí thắng được các framework tép riu khác trong phần này?
Cùng đón xem số tiếp theo của cùng chủ đề nhé…
Số tiếp theo
Không để các bạn chờ lâu, mình viết luôn giải thích cho các bạn thấy lí do.
1. Hỗ trợ command line controller
- Tương tự artisan của laravel, hỗ trợ cả stress test, create new app,…
2. Đã có sẵn cấu trúc file/folder (Application Structure)
Ngay sau khi create app từ command line, các bạn sẽ có luôn cấu trúc file tương tự như sau:
Công việc tiếp theo của các bạn là config file config.json
rồi code controller thôi
3. Hỗ trợ ORM cho xử lí liên quan tới table của database
ORM của Drogon sẽ dược tự động tạo sau khi các bạn config đúng endpoint tới DB, và chạy lệnh generate.
Đại khái nó sẽ tạo luôn như sau:
4. Hỗ trợ template cho view
Tương tự blade
của laravel, thì Drogon hỗ trợ chúng ta csp
Link: https://drogon.docsforge.com/master/view/#a-simple-example
-> Thực ra ngày nay đa số sử dụng react/vue để dev FrontEnd nên có lẽ tính năng này không quan trọng lắm. Cơ mà thêm vào để tụi framework cùi bắp khác đỡ cà khịa được mà. Cho ra dáng anh cả chứ : ))
5. Code không phải lo tới crash
Tất cả những gì sử dụng trong framework đều được xài smart pointer (shared_ptr là chính), nên các bạn hoàn toàn yên tâm code xong thì bật 1 lần chạy mãi mãi.
6. Library bạt ngàn
Vâng, không một ngôn ngữ nào nhiều library bằng C/C++ được, ngay cả node cũng phải dùng backend là v8 để compute javascript.
Nên có thể nói, không một công việc cần tới thư viện ngoài nào bạn định tìm kiếm mà C++ không có cả.
7. Vip Pro
Tất nhiên dòi, ngồi code ngôn ngữ thượng đẳng như C++ rồi compile ra web, xung quanh các em đang chật vật cài npm, php, nginx các thứ đồ, lại không oai hay sao?
Chốt
Các bạn ạ, 4.0 rồi, nên đi theo công nghệ dần đi thôi.
Giờ còn lẹt đẹt ngồi cài npm hay fix bug log4j thì đến bao giờ mới to the moon được.