Chuyện thằng dev bị cúp net đêm khuya

[Chuyện thằng dev bị cúp net đêm khuya]

Chuyện này mình viết cũng lâu rồi, giờ lại cần làm app di động hybrid, lại đọc lại :v

Hắn bị cúp net. Thế là hắn ngồi nhai lại chuyện chiều qua trong đầu.

Chuyện là trước giờ khi làm liên quan đến local database của app thì mặc nhiên hắn dùng Web SQL. Dễ hiểu, dễ dùng vì theo chuẩn SQL, lại là RDBMS xưa như trái đất.

Tuy nhiên hôm nay đọc được cái bài này:

https://www.html5rocks.com/…/…/webdatabase/websql-indexeddb/

Và tìm hiểu sâu thêm vài trang nữa thì cũng cùng kết cục như vậy. Đại loại là từ 18/10/2010 Web SQL đã được W3C thông báo sẽ không hỗ trợ nữa (Đến nay vẫn dùng được nhá!) và khuyến khích nên chuyển sang IndexedDB.

Thằng IndexedDB thì không phải RDBMS, không chơi SQL mà nó gần giống NoSQL (cấu trúc kiểu JSON), chơi toàn key vs value.

Đương nhiên là về lâu dài thì hắn sẽ không thể dùng Web SQL nữa – người ta đã nói vậy rồi mà :’) . Nhưng giờ kẹt deadline. Lại lôm côm không rành cái khỉ IndexedDB (gọi tắt IDB nhá!), giờ mà phải viết lại cái lib cho nó để dùng thì mất cả đống thời gian.

Mà giờ sẵn chuyển thì chuyển luôn cái gì cho ngon ngon. Thấy có IDB nhiều người khuyến khích dùng. Firebase thì mạnh đồng bộ với realtime,.. Chả biết nên dùng cái nào.

Cuối cùng hắn quyết định cho kịp tiến độ, vẫn dùng Web SQL. Có thời gian sẽ nâng cấp chuyển đổi dần vậy. Thế mà cũng mất cả buổi để lọ mọ tìm hiểu, đọc tài liệu, thử nghiệm.. váng hết cái đầu @@.

À, mà nhờ vậy tìm được 1 thằng Db visual hay, chỉ 1 file php mà hỗ trợ từ MySQL, PostgreSQL, MS SQL, Amazone,… cho đến SQLite.
Lại có thư viện js để xử SQLite. Thuần js client mà can thiệp được file là cũng quất luôn rồi, khỏi nghĩ cho mệt đầu!.
—-
Cơ mà sau khi đau đầu hắn thắc mắc:

1. Hình như xu thế người ta giờ khoái NoSQL hơn RDBMS chăng??. Việc W3C ngưng hỗ trợ Web SQL mà khuyến khích IndexedDB là ví dụ. Dữ liệu quan hệ có xưa rồi không?

2. ‎NoSQL (JSON) có phải là xu hướng cho tương lai của Database khi ranh giới giữa front-end và back-end ngày một mờ nhạt. Một ứng dụng có thể chạy online lẫn offline. Đồng bộ mượt mà. BigData luôn gắn với NoSQL.

3. ‎Tội mấy thằng Developer, suốt ngày cứ phải chạy theo công nghệ, :’). Giờ riêng làm web thì không chỉ cần biết frontend, backend, HTML, CSS, JS, PHP, SQL, JSON, XML,.. đơn thuần mà còn phải biết Photoshop, painting,.., phải chạy đua vũ trang vào từng version của mỗi thứ (HTML5, CSS3, PHP5, MySQL4, PostgreSQL 8x, 9x, SQLite 2, 3) , từng lib của các ngôn ngữ xem điểm mạnh yếu từng thằng mà lôi đầu vô sài khi cần như Jquery, Bootstrap, Ol2, Ol3, Leaflet, Ext, GeoExt, rồi các thứ “lai” như nodejs, reactjs, Angularjs,.. hybrid với native, các kỹ thuật như Ajax, truyền gọi Services, đồng bộ, bất đồng bộ client, server. À, nhắc server mới nhớ, lại còn phải biết cấu hình hệ thống, môi trường để triển project, deploy sản phẩm, thiết kế db.., chưa kể nhiều công cụ, tác vụ web không xử đc thì lại phải biết cách viết services cho window/linux, biết python, command line, bat file,.. cấu hình cronjob cho cpanel của share host linux, schedule cho window.. chưa kể lo sợ bị hack nên phải tập hack, nghiên cứu các kỹ thuật Cross site Scripting, SQL injection,... rồi đua theo các thiết bị công nghệ mới từ thời PC, đến laptop, máy tính bảng, điện thoại, các kỹ thuật hiển thị responsive, rồi nghĩ hướng khắc phục hiển thị cho từng loại trình duyệt, từng version của chúng như IE, Edge, Firefox, Chrome, Opera .. chưa tính đến thiết kế sao cho tối ưu tài nguyên, ứng dụng hiển thị nhẹ, mượt, ít hao tài nguyên, băng thông,…

Ôi trời! Cứ kể là cứ còn dài lê thê. Bạn nghĩ nhiều ư. Chỉ mới chỉ là một hạt cát giữa bãi biển. Lĩnh vực web chỉ là 1 hạt sỏi. Ứng dụng Web lại chia theo chức năng như GIS, bán hàng, tin tức, blog, mạng xã hội,… mà có sỏi xanh, sỏi xám. Lại tùy theo quy mô mà cấu hình, tích hợp công nghệ, kỹ thuật…
Thế mới thấy không có dại nào bằng dại đua theo công nghệ. Mà nó có bất biến đâu. “Mô đen” bây giờ thì vài tháng sau lỗi thời, có cái khác ngon hơn, tốt hơn, dễ dùng hơn thậm chí ngưng hỗ trợ – như thằng Web SQL 

Thôi, bị nói nhiều rồi.

Ngưng nói nhảm.

Đắp chăn ngủ đc rồi.

Tool mai tính 

-soiqualang_chentreu-

—–