Lập trình web bằng Ruby với Hanami framework

Nhắc đến ngôn ngữ Ruby, nhiều người sẽ nghĩ ngay đến Ruby On Rails – web framework nổi tiếng trên thế giới đang được các Ruby developers sử dụng hàng ngày. Trong khi đối với PHP, có quá nhiều sự lựa chọn framework để làm nên 1 website như Laravel, Phalcon, Zend Framework, CakePHP, Yii, Symfony … thì đối với Ruby có lẽ người ta chỉ biết đến Ruby On Rails 😀 Hôm nay để đổi gió tôi sẽ giới thiệu cho các bạn 1 Ruby web framework cũng khá tốt đó là Hanami 😀

Các bạn có thể tham khảo và đọc document của Hanami tại đây http://hanamirb.org/guides/

Để cài đặt Hanami thì vô cùng đơn giản, bạn chỉ cần gõ lệnh (À mà quên trước khi cài đặt Hanami bạn cần cài đặt Ruby nhé =)) , tôi sẽ không hướng dẫn chi tiết về vấn đề này)

Sau đó để tạo 1 web project với Hanami tôi dùng

với “bookshelf” là tên project của bạn, bạn có thể thay đổi tùy thích. Sau khi đã tạo xong project, bạn có thể thử tham quan cấu trúc của 1 project Hanami xem nó như thế nào

Trong đó tôi giải thích sơ về ý nghĩa 1 số file và folder trong này

Gemfile sẽ định nghĩa những Rubygems dependencies (sử dụng Bundler) => cái này đối với các ROR dev thì quá quen rồi nhỉ? 😀
Rakefile sẽ mô tả những Rake tasks
apps sẽ chứa 1 hay nhiều web applications, khi mới khởi tạo thì chỉ có 1 web app đó là web trong thư mục apps, bên trong mỗi web app như web sẽ chứa các thành phần như controllers, views, routes và templates.
config sẽ chứa những file cấu hình của project
config.ru là cấu hình dành cho Rack server
db sẽ chứa các giản đồ cho database (schema) và các migrations (những thay đổi về cấu trúc của database)
lib sẽ chứa các business logic code và các models, bao gồm entities và repositories
public sẽ chứa những file tĩnh cho web project như các file css, js, images …
spec để chứa những file tests

Vậy là xong phần giới thiệu về cấu trúc của Hanami, bây giờ chúng ta thử chạy nó xem mặt mũi nó ra sao nhé! 😀

Đối với các bạn đang xài Windows thì có thể sẽ bắt gặp lỗi sau khi chạy Hanami server “ERROR NotImplementedError: fork() function is unimplemented on this machine”. Các bạn có thể khắc phục bằng cách chạy lệnh

*** Tham khảo issue này của Hanami trên Github: https://github.com/hanami/hanami/issues/278

Ok, sau này đã chạy ngon ơ chúng ta sẽ kiểm tra bằng trình duyệt (web browser) xem như thế nào nhé. Bạn chỉ cần truy cập đến địa chỉ http://localhost:2300, nếu bạn thấy kết quả như hình bên dưới

thì xin chúc mừng bạn đã cài đặt Hanami thành công! 😀 Để tiếp tục với Hanami, bạn có thể đọc tiếp document của nó trên trang chủ, hy vọng Hanami là 1 sự lựa chọn không tồi để các Ruby developers sử dụng nó cho web project của mình