Đỗ Đức Dũng ngày 5 tháng 6 năm 2026
Cách đây mấy năm, tôi có thử xây dựng một ứng dụng trên nền tảng Thunkable.com. Đó là thời điểm tôi bắt đầu tìm cách đưa các thông tin liên quan đến dự báo nguồn nước vùng Đồng bằng sông Cửu Long lên điện thoại di động, với mong muốn người sử dụng có thể xem nhanh, xem tiện lợi, không phải phụ thuộc vào máy tính để bàn hay những báo cáo dạng văn bản truyền thống.
Ứng dụng đó cũng đã được hoàn thiện ở mức nhất định và đã được publish. Nhìn lại, đó là một nỗ lực đáng quý trong quá trình tự học, tự thử nghiệm và tìm kiếm một công cụ phù hợp để phục vụ công tác chuyên môn. Tuy nhiên, do thời điểm đó tôi chưa có nhiều kinh nghiệm về xây dựng ứng dụng, đặc biệt là kinh nghiệm về WebGIS, nên việc đưa bản đồ, các lớp dữ liệu không gian và các thông tin dự báo lên app gặp khá nhiều khó khăn.


Thunkable là một nền tảng tốt cho việc xây dựng nhanh các ứng dụng di động, nhất là với những người không chuyên sâu về lập trình app native. Nhưng khi bài toán chuyển sang bản đồ, dữ liệu không gian, nhiều lớp thông tin, truy vấn dữ liệu, bản tin dự báo, biểu đồ và cập nhật thường xuyên thì mọi việc bắt đầu trở nên phức tạp hơn. Nếu tiếp tục đi theo hướng này, tôi sẽ phải đầu tư thêm tài khoản Thunkable, có thể phải dùng thêm Airtable hoặc các dịch vụ phụ trợ khác để lưu dữ liệu, đồng bộ dữ liệu và kết nối thông tin.
Câu hỏi đặt ra là: có nên tiếp tục phát triển app trên Thunkable nữa hay không?
Gần đây, khi tôi bắt đầu xây dựng WebGIS trên nền tảng Leaflet, PHP, MySQL và triển khai trên Hostinger, tôi nhận thấy một hướng đi khác rõ ràng hơn. WebGIS có thể chạy trên trình duyệt, có thể xem trên máy tính, tablet và điện thoại di động. Quan trọng hơn, nó cho phép tôi chủ động hơn nhiều trong việc quản lý dữ liệu, hiển thị bản đồ, bổ sung lớp thông tin, thiết kế giao diện, kết nối cơ sở dữ liệu và mở rộng hệ thống sau này.
Vì vậy, vấn đề không còn đơn thuần là chọn giữa “làm app” hay “làm website”. Vấn đề đúng hơn là phải xác định đâu là nền tảng chính, bền vững và phù hợp nhất cho một hệ thống thông tin dự báo nguồn nước có yếu tố bản đồ và dữ liệu chuyên ngành.
Bản chất bài toán không chỉ là một app di động
Mục tiêu ban đầu của tôi rất rõ: tạo một công cụ thuận tiện để xem các thông tin liên quan đến dự báo nguồn nước ở Đồng bằng sông Cửu Long trên điện thoại di động. Người sử dụng có thể mở nhanh, xem bản tin, xem bản đồ, xem vị trí hồ chứa, trạm mưa, trạm thủy văn, vùng ảnh hưởng, cảnh báo và các thông tin chuyên môn khác.
Nhưng khi phân tích kỹ hơn, đây không đơn thuần là một app hiển thị vài trang thông tin. Đây là một hệ thống WebGIS, trong đó bản đồ là trung tâm, dữ liệu là nền tảng, còn giao diện điện thoại chỉ là một trong các hình thức truy cập.
Một hệ thống như vậy cần có khả năng:
Hiển thị các lớp bản đồ như lưu vực, sông suối, hồ chứa, trạm đo mưa, trạm thủy văn, vùng ngập, vùng cảnh báo.
Kết nối với cơ sở dữ liệu để cập nhật thông tin về mực nước, lưu lượng, dung tích hồ, lượng mưa, bản tin dự báo.
Cho phép người quản trị nhập liệu, chỉnh sửa, cập nhật và kiểm soát dữ liệu.
Có thể mở rộng thêm các module như bản tin mưa, bản tin ngày, bản tin tháng, bản tin mùa, cảnh báo hạn mặn, cảnh báo lũ, thông tin vận hành hồ chứa.
Có thể chạy tốt trên nhiều thiết bị khác nhau, từ máy tính phục vụ quản trị đến điện thoại phục vụ tra cứu nhanh.
Với yêu cầu như vậy, nền tảng web, đặc biệt là WebGIS dùng Leaflet, tỏ ra phù hợp hơn nhiều so với một app no-code thuần túy.
Vì sao không nên tiếp tục đầu tư chính vào Thunkable?
Tôi không phủ nhận giá trị của Thunkable. Ngược lại, Thunkable đã giúp tôi có bước khởi đầu quan trọng. Nó giúp tôi hình dung được cấu trúc một ứng dụng di động, cách tổ chức menu, cách tạo các màn hình thông tin và cách đưa một ý tưởng chuyên môn thành một sản phẩm có thể sử dụng.
Tuy nhiên, nếu tiếp tục phát triển hệ thống dự báo nguồn nước ĐBSCL trên Thunkable, tôi sẽ gặp một số giới hạn.
Trước hết là giới hạn về bản đồ. Với các app thông thường, việc hiển thị nội dung tĩnh, form nhập liệu, nút bấm, danh sách thông tin tương đối thuận lợi. Nhưng với bản đồ GIS, cần nhiều thao tác đặc thù như bật tắt lớp bản đồ, đọc GeoJSON, hiển thị popup, lọc dữ liệu theo vùng, truy vấn thuộc tính, hiển thị biểu đồ theo đối tượng, cập nhật marker theo thời gian. Những việc này nếu làm trên Thunkable thường phải thông qua WebViewer hoặc kết nối gián tiếp, không thật sự linh hoạt.
Thứ hai là vấn đề dữ liệu. Nếu dùng Thunkable, nhiều khả năng phải kết nối với Airtable, Firebase hoặc một backend phụ trợ khác. Như vậy, hệ thống sẽ phụ thuộc vào nhiều nền tảng cùng lúc. Mỗi nền tảng lại có chính sách tài khoản, giới hạn miễn phí, chi phí nâng cấp và cách kết nối riêng. Với một hệ thống chuyên ngành cần duy trì lâu dài, sự phụ thuộc đó là điều cần cân nhắc.
Thứ ba là chi phí. Nếu chỉ thử nghiệm thì chi phí có thể chấp nhận được. Nhưng nếu phát triển nghiêm túc, lâu dài, có nhiều người dùng, có nhiều dữ liệu, có nhiều màn hình và cần publish ổn định, chi phí cho Thunkable và các dịch vụ phụ trợ có thể tăng lên. Trong khi đó, nếu đã có hosting, tên miền, cơ sở dữ liệu MySQL và mã nguồn chủ động, thì phát triển WebGIS trên nền web sẽ tiết kiệm hơn.
Thứ tư là khả năng mở rộng. Bài toán của tôi không dừng lại ở việc xem vài bản tin. Sau này hệ thống có thể mở rộng sang quản lý hồ chứa, bản tin vận hành, bản đồ cảnh báo, mô hình mưa – dòng chảy, dữ liệu quan trắc, báo cáo tự động, thậm chí tích hợp AI để hỗ trợ phân tích. Những hướng mở rộng này cần một nền tảng có khả năng kiểm soát sâu về dữ liệu và mã nguồn.
Vì vậy, Thunkable nên được nhìn nhận như một bước thử nghiệm có giá trị, nhưng không nên là nền tảng chính cho hệ thống WebGIS dự báo nguồn nước trong giai đoạn tiếp theo.
Hướng đi phù hợp hơn: WebGIS trên Hostinger, thiết kế như một app
Điều quan trọng là không phải cứ muốn sử dụng trên điện thoại thì nhất thiết phải làm app native. Ngày nay, một ứng dụng web nếu được thiết kế tốt hoàn toàn có thể mang lại trải nghiệm gần giống app trên điện thoại.


Với WebGIS đang xây dựng trên Hostinger, tôi có thể tiếp tục phát triển theo hướng responsive web app, nghĩa là giao diện tự thích ứng với màn hình máy tính, tablet và điện thoại. Trên máy tính, hệ thống có thể hiển thị đầy đủ bản đồ, bảng dữ liệu, công cụ quản trị. Trên điện thoại, giao diện có thể được rút gọn, ưu tiên các chức năng chính như bản đồ, bản tin, cảnh báo, số liệu và tra cứu nhanh.
Xa hơn nữa, WebGIS có thể được nâng cấp thành PWA – Progressive Web App. Đây là dạng ứng dụng web nhưng có thể cài ra màn hình chính của điện thoại như một app. Người dùng mở trình duyệt, truy cập vào địa chỉ WebGIS, sau đó chọn “Thêm vào màn hình chính”. Từ lần sau, họ chỉ cần bấm vào biểu tượng như một ứng dụng bình thường.
Khi làm theo hướng PWA, hệ thống có thể có tên app, biểu tượng app, màu chủ đạo, màn hình mở đầu và chế độ hiển thị toàn màn hình. Người dùng gần như không còn cảm giác đang mở một website thông thường, mà cảm giác như đang sử dụng một app chuyên dụng.
Đây là hướng đi rất phù hợp: nền tảng vẫn là web, dữ liệu vẫn nằm trong hệ thống chủ động của mình, nhưng trải nghiệm người dùng trên điện thoại lại gần giống app.
Cần thiết kế lại giao diện mobile theo tư duy app
Nếu tiếp tục phát triển WebGIS trên Hostinger, điều quan trọng là không nên bê nguyên giao diện desktop xuống điện thoại. Màn hình điện thoại nhỏ, người dùng thao tác bằng ngón tay, thời gian xem thường ngắn và nhu cầu thường là xem nhanh thông tin cần thiết.
Vì vậy, giao diện mobile nên được thiết kế theo tư duy app.
Màn hình chính có thể gồm các chức năng chính như:
Bản đồ để xem không gian lưu vực, hồ chứa, trạm đo, vùng cảnh báo.
Bản tin để xem các bản tin ngày, tuần, tháng, mùa hoặc bản tin đột xuất.
Số liệu để xem nhanh mưa, mực nước, lưu lượng, dung tích hồ.
Cảnh báo để hiển thị các thông tin bất thường, hạn, mặn, lũ hoặc thiếu nước.
Tài khoản để đăng nhập, phân quyền, quản trị hoặc cập nhật dữ liệu.
Trên điện thoại, nên có thanh menu dưới cùng giống các app hiện đại. Các nút cần đủ lớn, chữ dễ đọc, màu sắc rõ ràng, thao tác ít bước. Những thông tin chuyên sâu có thể để ở màn hình chi tiết, còn màn hình chính chỉ nên hiển thị những nội dung quan trọng nhất.
Đây là điểm rất quan trọng. Một WebGIS tốt không chỉ là có bản đồ, mà phải có trải nghiệm người dùng hợp lý. Người dùng mở điện thoại ra phải biết ngay cần bấm vào đâu, xem thông tin gì và hiểu được tình hình chính trong vài giây.
Giữ lại giá trị của app Thunkable cũ
Dù không tiếp tục phát triển chính trên Thunkable, tôi vẫn giữ lại app cũ như một tài sản kinh nghiệm.
App cũ có thể giúp tôi xem lại cách tổ chức menu, cách đặt tên màn hình, cách phân chia các loại bản tin, cách trình bày nội dung và cả những điểm chưa hợp lý cần tránh. Những gì đã làm trên Thunkable không mất đi, mà trở thành một bản mẫu ban đầu để chuyển hóa sang WebGIS mới.
Có thể nói, Thunkable là bước khởi đầu giúp tôi đi vào tư duy ứng dụng di động. Còn Leaflet WebGIS trên Hostinger là bước tiếp theo để xây dựng một hệ thống có chiều sâu kỹ thuật, có khả năng mở rộng và có thể phục vụ lâu dài.
Lộ trình phát triển đề xuất
Hướng xử lý hợp lý nhất hiện nay là tập trung vào WebGIS hiện có và phát triển theo từng bước.
Bước đầu tiên là hoàn thiện nền WebGIS Leaflet trên Hostinger. Hệ thống cần ổn định về bản đồ, cơ sở dữ liệu, đăng nhập, phân quyền, quản lý hồ chứa, trạm mưa, trạm thủy văn, bản tin và các lớp tham chiếu.
Bước thứ hai là tối ưu giao diện mobile. Đây là bước quan trọng để người dùng có thể sử dụng thuận tiện trên điện thoại. Cần rà soát lại bố cục, kích thước chữ, kích thước nút, cách mở popup, cách xem bảng dữ liệu, cách bật tắt lớp bản đồ.
Bước thứ ba là nâng cấp thành PWA. Khi đó hệ thống sẽ có biểu tượng cài đặt trên màn hình chính, mở ở chế độ gần giống app, có thể cache một số thành phần để chạy nhanh hơn và tạo cảm giác chuyên nghiệp hơn.
Bước thứ tư là chuẩn hóa dữ liệu và quy trình cập nhật. Một hệ thống dự báo nguồn nước muốn vận hành tốt phải có dữ liệu rõ ràng, có cấu trúc bảng hợp lý, có quy trình nhập liệu, kiểm tra, cập nhật và sao lưu.
Bước thứ năm là mở rộng dần các chức năng chuyên sâu như biểu đồ diễn biến mực nước, lượng mưa, lưu lượng, bản tin tự động, cảnh báo theo ngưỡng, bản đồ chuyên đề và tích hợp các mô hình tính toán khi cần thiết.
Sau này, nếu hệ thống đã ổn định và thật sự cần đưa lên Google Play hoặc App Store, hoàn toàn có thể xem xét đóng gói WebGIS/PWA thành app native bằng các công cụ phù hợp. Khi đó, nền tảng dữ liệu và mã nguồn vẫn là WebGIS đã xây dựng, không phải làm lại từ đầu.
Ý nghĩa lớn hơn của lựa chọn này
Với tôi, câu chuyện này không chỉ là chuyện chọn một công cụ kỹ thuật. Nó phản ánh một quá trình tự học, tự thử nghiệm và từng bước tìm ra con đường phù hợp hơn trong chuyển đổi số ngành nước.
Lúc đầu, tôi tiếp cận bằng app no-code vì muốn nhanh chóng tạo ra một sản phẩm có thể sử dụng được. Sau đó, khi yêu cầu chuyên môn cao hơn, tôi nhận ra rằng cần một nền tảng có khả năng quản lý dữ liệu, bản đồ và mở rộng hệ thống tốt hơn. Đó là lúc WebGIS trở thành hướng đi phù hợp.
Trong lĩnh vực tài nguyên nước, thủy lợi và dự báo nguồn nước, dữ liệu luôn gắn với không gian. Mỗi hồ chứa, mỗi trạm mưa, mỗi đoạn sông, mỗi vùng hạn mặn hay vùng ngập đều có vị trí cụ thể trên bản đồ. Vì vậy, WebGIS không chỉ là một công cụ hiển thị đẹp mắt, mà là một phương thức tổ chức tri thức chuyên ngành theo không gian.
Nếu làm tốt, hệ thống này có thể phục vụ nhiều mục tiêu: hỗ trợ cán bộ chuyên môn, cung cấp thông tin nhanh cho lãnh đạo, chia sẻ bản tin cho người dùng, lưu trữ dữ liệu lịch sử và từng bước hình thành nền tảng số cho công tác dự báo, quy hoạch và quản lý nguồn nước.
Quan trọng hơn, khi chủ động được nền tảng web, cơ sở dữ liệu và mã nguồn, chúng ta sẽ giảm phụ thuộc vào các công cụ bên ngoài. Việc phát triển hệ thống không còn bị bó hẹp bởi một nền tảng no-code hay một dịch vụ trung gian, mà có thể từng bước mở rộng theo đúng nhu cầu thực tế.
Kết luận
Sau khi cân nhắc giữa việc tiếp tục phát triển app trên Thunkable và phát triển WebGIS trên Hostinger, tôi cho rằng hướng đi phù hợp nhất hiện nay là:
Không tiếp tục đầu tư chính vào Thunkable cho hệ thống dự báo nguồn nước ĐBSCL cũng như các hệ thống tương tự.
Tập trung phát triển WebGIS Leaflet trên Hostinger làm nền tảng chính.
Thiết kế giao diện mobile thật tốt để người dùng có trải nghiệm như đang sử dụng app.
Nâng cấp WebGIS thành PWA để có thể cài ra màn hình chính điện thoại.
Khi hệ thống đủ ổn định, nếu cần, có thể đóng gói thành app chính thức sau.
Đây là hướng đi tiết kiệm hơn, chủ động hơn, bền vững hơn và phù hợp hơn với bản chất của một hệ thống WebGIS chuyên ngành.
Nhìn lại hành trình từ một app Thunkable đầu tiên đến WebGIS hiện nay, tôi thấy mỗi bước thử nghiệm đều có giá trị. Có những việc ban đầu chưa thành công trọn vẹn, nhưng lại mở ra kinh nghiệm cho bước tiếp theo. Điều quan trọng là không dừng lại ở công cụ, mà phải nhìn rõ mục tiêu cuối cùng: xây dựng một hệ thống thông tin hữu ích, dễ dùng, có khả năng mở rộng và thật sự phục vụ được công tác chuyên môn về dự báo nguồn nước ở Đồng bằng sông Cửu Long và các vấn đề tương tự.
