C++ Web Framework: Drogon - Bá chủ web trong hiện tại và tương lai

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.

image

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:
image

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:
image

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.

image

10 Likes

bài này phù hợp với các bạn newbie đọc để trầm trồ, mà newbie trên đây chắc cũng không thích đọc đâu, toàn là tạo account để hỏi bài tập và biến mất thôi
post lên mấy group lập trình trên fb chắc sẽ được hưởng ứng hơn

6 Likes

hướng dẫn cách deploy lên heroku/aws/azure gì đi :relieved:

6 Likes

1 framework tốt là 1 framework có cộng đồng sử dụng đông đảo và đc cập nhật liên tục,chứ ko phải là đc viết bằng ngôn ngữ nào, những thứ dù cho được quảng cáo tốt đến đâu có cái gốc tốt đến đâu nhưng ko đc người dùng sử dụng cũng sẽ tự bị đào thải :smiley:

6 Likes

lên đó lại bị oldbie ném đá chứ ích gì thím :roll_eyes:

phí hướng dẫn 500k nhé, inbox để nhận giá cạnh tranh hơn

thế nên mới cần phải có những seeder tâm huyết như tuôi đây thím :wink:

3 Likes

Hôm nào lại có thêm một Framework như lời đồn :smiley:

6 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?