Article:
Mudim - Bộ gõ tiếng Việt cho web xuất sắc nhất hiện nay
4430
ngocdaothanh.myopenid.com 149Updated over 2 years ago |
Nếu đã viết web có tính năng gõ tiếng Việt, hẳn bạn đã có dịp ngắm nghía cân đo đong đếm xem giò bắt cẳng qua vài bộ gõ như AVIM, CHIM, mViet v.v. Xin giới thiệu Mudim, bộ gõ xuất sắc nhất hiện nay nhìn từ quan điểm của cả người dùng bình thường và lập trình viên.
Từ quan điểm của người dùng bình thường
Ngoài cho phép gõ từ trang web, Mudim còn có plugin cho Firefox. Sau khi cài plugin này, có thể gõ tiếng Việt ở tất cả trang web (ở blog chẳng hạn). Các tính năng quan trọng:
- 3 kiểu gõ thông dụng: Telex, VNI, VIQR
- Bảng điều khiển rất thuận tiện
- Lưu lại kiểu gõ: đóng trang web rồi mở lại thì kiểu gõ cũ được tự động chọn
- Bỏ dấu theo nhiều quy tắc mới, bỏ dấu thông minh, tự động bỏ dấu đúng chỗ
- Chạy tốt trên mọi trình duyệt thông dụng
Từ quan điểm của lập trình viên
Vì nhu cầu đặc thù của web, lập trình viên cần bộ gõ:
- Có các tính năng cho người dùng như ở trên
- Gõ được ở bất kì chỗ nào cho phép nhập dữ liệu từ bàn phím (text field, text area, tương thích với phiên bản mới nhất của các WYSIWYG editor thông dụng như tí hon TinyMCE, gà rán FCKeditor v.v.)
- Dễ tuỳ biến (customize) cho thích hợp với giao diện trang web
- Có tài liệu hướng dẫn đầy đủ
- Developer của bộ gõ cởi mở khi tiếp thu phản hồi, sửa lỗi nhanh: quan trọng vì ví dụ sau khi bạn nâng cấp WYSIWYG editor mà người dùng không gõ được tiếng Việt nữa thì thôi rồi
Các yêu cầu trên Mudim đều đáp ứng và đáp ứng vượt trội hơn hẳn các bộ gõ khác. Mudim là project mã nguồn mở được host trên Google code. Để ý sẽ thấy:
- Tab Project Home và Wiki: thông tin rõ ràng, tài liệu hướng dẫn nhiều và dễ hiểu (hướng dẫn sử dụng, cài đặt, các trang wiki, tài liệu API v.v.)
- Tab Downloads: tập tin .js đã được nén sẵn, dùng được ngay, có tập tin ví dụ cụ thể
- Tab Issues: các lỗi được sửa rất nhanh, thảo luận cởi mở
- Tab Source: mã nguồn phân làm mudim-dev.js (chưa nén, mã nguồn sạch sẽ sáng sủa) và mudim.js (đã nén, nếu muốn trang web lúc nào cũng dùng phiên bản mới nhất thì có thể link đến đây), có công cụ đóng gói tự động, chứng tỏ project này được phát triển rất căn cơ bài bản bởi developer có kinh nghiệm software engineering
Những yếu tố kể trên cho thấy Mudim là lựa chọn sáng giá này cho trang web của bạn!
Thông tin bên lề
Dưới đây trích trao đổi với tác giả của Mudim Nguyễn Hoài Anh, đã được Anh cho phép "giải mật"
:
Về quá trình phát triển Mudim, nó xuất phát từ nhu cầu chính bản thân mình thôi, cần một bộ gõ tốt và chút tò mò. Mấy năm vừa rồi mình chủ yếu dùng Avim, đứng từ phía người dùng quả thật Avim có rất nhiều ưu điểm nhưng gần đây mình cũng muốn tìm hiểu một bộ gõ tiếng Việt hoạt động thế nào. Nhìn vào code của Avim thì thấy... không muốn tìm hiểu nữa, vì gần 1000 dòng code hầu như không có comment. Nhưng vì hâm mộ tính năng tự động nhận text element của avim nên cũng cố đọc được phần xử lý event.
Ngó vào code của CHIM và ngạc nhiên thấy tên biến tên hàm đặt dễ hiểu, comment tương đối nhiều. Đọc phần xử lý event của CHIM mình thấy cách tiếp cận này ưu việt hơn của Avim, nhưng có chút ít nhược điểm lúc thực hiện. Sau khi khắc phục được nhược điểm này mình đã làm cho khả năng tự động nhận text của CHIM giống như Mudim hiện nay, và bản CHIM FF extension gõ được trong Gmail.
Thừa thắng xông lên mình đọc tiếp phần engine gõ tiếng Việt của CHIM, quan điểm cá nhân là thấy nó dễ hiểu và được MrChuoi thiết kế tương đối tốt. Nếu giờ có ai muốn biết hoạt động của 1 bộ gõ tiếng Việt mình vẫn khuyên nên đọc code CHIM (chứ ko phải Mudim vì code Mudim bây giờ cũng béo phì rồi, không mi nhon như CHIM). Cũng vì được thiết kế tốt nên mình cũng thấy được khả năng cải tiến chức năng gõ của CHIM tốt hơn. Vì vậy mình đã đặt mục tiêu làm cho chức năng này ít nhất cũng gần bằng Avim, dựa vào kinh nghiệm sử dụng Avim mấy năm. Sau khoảng 2 ngày thì thấy mục tiêu đạt được cũng tàm tạm, đồng thời nhìn thấy cái panel trong bộ gõ BIM của Wasabi, rất ấn tượng, mình cũng implement một cái giống như thế. Đó là public release đầu tiên của Mudim.
Sau đó thì nhờ nhiều người góp ý kiến khắc phục các lỗi và cải thiện thêm tính năng. Trong đó đóng góp nhiều nhất là Sơn về khoản lỗi bộ gõ và Ngọc về quá trình maintain project (chắc do góp ý avim ở topic bên hn-ams.org nhiều mà không có kết quả
).
Mỗi ngày mình ngó qua trang issue 1 vài lần và trả lời nếu cần thiết, dành khoảng nửa đến 1 tiếng để trace lỗi và sửa nếu có. Những góp ý nào hợp lý thì hiển nhiên nên làm theo. Việc này cũng không mất quá nhiều thời gian vì dần dần các issues càng ngày càng ít đi.
Về Mudim chỉ có vậy thôi, về bản thân mình tên là Nguyễn Hoài Anh hiện đang là sinh viên học ở Nga.
149
Updated over 2 years ago
over 2 years ago
Updated over 2 years ago
over 2 years ago
over 2 years ago