Làm ứng dụng ghi chú - Notas

  • 0

  • 0

  • 0

Làm ứng dụng ghi chú - Notas

Làm ứng dụng ghi chú - Notas

Vấn đề

Xin chào các độc giả, tuần vừa rồi lại là một tuần bận rộn. Tôi đang gấp rút hoàn thành một dự án cá nhân vừa nghĩ ra cách đây không lâu.

Đó là ứng dụng ghi chú (mà rất có thể đặt tên là Notas). Đúng vậy, bạn đã không nghe nhầm, một ứng dụng mà xét trên phương diện tính năng không hề thiếu nếu như không muốn nói là nhiều như nấm mọc sau cơn mưa hè.

Mặc dù Notas vẫn đang trong quá trình phát triển, nhưng nếu không nói ra thì có lẽ chẳng ai biết được tôi đang làm gì mà tại sao không viết nữa. Ngoài ra, tôi cũng rất muốn lắng nghe suy nghĩ của mọi người về Notas ngay sau bài viết này. Thế cho nên bây giờ, tôi sẽ kể lại lý do vì sao phải tự làm cho mình một ứng dụng ghi chú, nó sẽ trông như thế nào, làm đến đâu rồi và cả dự tính cho tương lai của nó.

Tại sao làm ứng dụng ghi chú?

Cuộc sống thường ngày của tôi gắn liền với ghi chú. Có nhiều thông tin mà không ghi ra đâu đó thì tôi biết rằng khả năng quên đi mất trong tương lai là rất lớn. Thông tin cần ghi chép bao gồm cho cá nhân và cả cho công việc.

Ghi chú cá nhân rất đa dạng, đó có thể là một công thức pha chế cà phê mới xem được trên Youtube, một hướng dẫn làm món ăn, một danh sách những thứ cần mua cho ngày mai, ngày kia… Hoặc đôi khi chỉ đơn giản là một mẩu thông tin ngắn quan trọng mà tôi không muốn quên đi mất trong nay mai. Tóm lại, ghi chú tất cả những điều biết là sẽ quên.

Trong công việc thì sao? Ghi chú cũng không thể thiếu. Đó có thể là những chỉ dẫn để vận hành một công cụ, một hệ thống; những câu lệnh hữu ích, hay là lời mô tả hệ thống chuẩn bị cho các cuộc họp quan trọng… Nhưng trong các buổi họp, tôi thích mang theo cuốn sổ tay và bút để ghi chép cho nhanh hơn, vẽ sơ đồ tốt hơn thay vì dùng điện thoại hoặc máy tính.

Từ khi bắt đầu viết, đặc biệt là viết blog, tôi càng quan tâm hơn đến những ứng dụng ghi chú cho bài viết dài. Ý tưởng về bài viết có thể bất chợt xuất hiện tại thời điểm nào đó, nếu không nhanh tay chép lại có thể nó sẽ trôi vào quên lãng. Tôi đặc biệt quan tâm đến tính đơn giản, nhanh, đồng bộ tốt và bảo mật, nếu hỗ trợ thêm cả markdown nữa thì tuyệt vời.

Markdown là một dạng văn bản mà tôi cảm thấy cực kỳ hữu ích cho đến tận bây giờ. Nó mang lại sự kết hợp tuyệt vời giữa văn bản và định dạng. Chỉ cần viết, định dạng cũng chỉ qua cách viết. Nói tóm lại, chỉ cần viết mà không cần quá quan trọng vào vấn đề định dạng cho văn bản.

Ứng dụng trước đây hay sử dụng nhất là Notes của Apple. Nó đơn giản, tập trung vào viết, không hỗ trợ markdown nhưng bù lại cho khả năng đồ bộ tuyệt vời giữa các thiết bị trong hệ sinh thái "quả táo". Dữ liệu được mã hóa hoàn toàn trên iCloud nên rất an tâm. Thêm tính năng khóa bảo mật từng ghi chú, một số ghi chú hết sức riêng tư cho nên việc khóa nó lại và chỉ mở ra khi cần thiết khiến bản thân cảm thấy an tâm hơn khi sử dụng.

Hạn chế duy nhất của Notes là không hỗ trợ markdown. Cách đây mấy tháng, chiếc điện thoại tai thỏ cũ kĩ của tôi bắt đầu có hiện tượng đình công… đành phải thay thế nó bằng thiết bị Android mới. Thế là phát hiện ra thêm: Notes không hỗ trợ đa nền tảng.

Cuộc hành trình đi tìm ứng dụng ghi chú bắt đầu. Thú thật, tôi đã nghiên cứu và sử dụng rất nhiều cái tên để tìm ra thứ phù hợp nhất. Nhưng đáp lại, nỗ lực có lẽ vẫn chưa đạt đến độ chín muồi.

Notion - hay các họ ứng dụng All-in-one khác mà tương tự như Notion có lẽ là cái tên đáng chú ý nhất. Mạnh mẽ, nhiều chức năng, làm được nhiều thứ nhưng vô hình chung lại… phức tạp hơn mức cần thiết. Sau một thời gian trải nghiệm, cảm thấy Notion phù hợp hơn cho quản lý công việc thay vì tập trung vào viết.

Bear Notes có lẽ là một cái tên sáng giá nhất. Một ứng dụng ghi chú đẹp, thân thiện, đơn giản và hỗ trợ markdown. Cảm giác ghi chú trên Bear rất tốt và nó luôn khiến tôi muốn bắt tay vào việc viết ngay lập tức thay vì phải suy nghĩ là mình có nên viết hay không. Ngoài ra, Bear còn có chức năng gắn thẻ cho ghi chú để phân loại chúng, dễ quản lý và tìm lại sau này. Bear chỉ duy nhất có 2 điểm trừ: Chỉ hỗ trợ các thiết bị của Apple và cần trả phí nếu muốn có chức năng đồng bộ. Nhưng nếu đây là một ứng dụng đa nền tảng, có lẽ tôi sẵn sàng xuống tiền để được sử dụng ứng dụng tuyệt vời này.

Simple Notes có thể thay thế Apple Notes hoặc Bear ở một khía cạnh nào đó. Simple Notes chạy đa nền tảng, đơn giản, miễn phí nhưng lại có quá nhiều hạn chế. Không hỗ trợ markdown, không có khả năng bảo mật tuyệt vời và giao diện không được thân thiện cho lắm (ít nhất là tôi cảm thấy thế). Simple Notes có khả năng đồng bộ tuy nhiên họ tuyên bố miễn trừ trách nhiệm về thông tin mà bạn lưu trữ trên này. Hmm… liệu nó có an toàn?

Vì tất cả lý do trên đủ để tôi cần phải "ra tay" làm điều gì đó!

Notas

Là một lập trình viên web, điều đầu tiên mà tôi nghĩ đến là ứng dụng sẽ chạy trên nền web. Kết hợp với PWA, Notas sẽ trông giống như một ứng dụng "gốc" mà có thể cài đặt vào máy tính hoặc ghim ra màn hình của điện thoại. Dễ tìm, dễ dùng và dễ viết.

Nuxt.js là một khung ứng dụng đã quá quen thuộc, vì thế tôi dùng Nuxt.js để phát triển ứng dụng ghi chú PWA. Các tính năng tương tác cũng như xử lý logic Nuxt.js làm rất tốt và tiết kiệm được nhiều thời gian. DaisyUI - một thư viện CSS dựa trên Tailwind cũng rất thích hợp để làm giao diện hiện đại cho Notas.

Một phần cực kỳ quan trọng nữa là khả năng hỗ trợ markdown. Có thể nói đối với một ứng dụng ghi chú, việc viết chiếm đến 90% thời gian tương tác cho nên cần làm sao đó để trải nghiệm viết được tối ưu hóa nhất có thể. (CKEditor)[https://ckeditor.com/] có thể là một trình soạn thảo tuyệt vời nhưng cấu hình hơi phức tạp. Thay vào đó là một cái tên khác, đơn giản và nhẹ nhàng hơn mà tôi chọn là Tiptap.

Notas cần một nơi để lưu trữ dữ liệu. Vì chú trọng vào quyền riêng tư và bảo mật, hãy để người dùng có quyền kiểm soát nơi lưu trữ dữ liệu của mình. Ý tưởng ban đầu là tạo một lớp Adapter cho việc tương tác với cơ sở dữ liệu. Tức là không cần quan tâm đến cơ sở dữ liệu thực sự dùng là gì, chỉ cần viết các hàm để lấy dữ liệu từ đâu đó là được. Nếu làm như thế, tôi có thể viết các Adapter dùng cho dữ liệu từ Local Storage, từ SQLite hay thậm chí là qua RESTful API.

Notas đang trong quá trình xây dựng giao diện và một vài luồng sử dụng chính. Trước mắt, Notas sẽ đáp ứng các yêu cầu cơ bản của người dùng ghi chú bình thường, tức là quản lý được ghi chú và hỗ trợ markdown. Sau đó, nếu có thời gian tôi sẽ tiếp tục phát triển ứng dụng này.

Giao diện Notas

Sau khi hoàn thành Notas, tôi sẽ là người đầu tiên trải nghiệm nó trong một khoảng thời gian. Sửa lỗi và tinh chỉnh lại nếu có nhu cầu. Cuối cùng điều tôi hướng đến là một sản phẩm Open Source, để cho bất kỳ ai cũng có thể sử dụng, đóng góp và phát triển nó nhiều hơn nữa.

Tổng kết

Xây dựng một ứng dụng Notes giữa hàng chục hoặc thậm chí hàng trăm ứng dụng đã có sẵn có vẻ là một ý tưởng kì cục và rất có thể là "vô công rồi nghề". Tôi biết có rất nhiều người có trải nghiệm về ghi chú phong phú hơn, cho nên tôi rất sẵn sàng lắng nghe gợi ý về cách làm của các bạn. Ngoài ra, bất cứ ý kiến gì về Notes cũng là nguồn tham khảo vô giá. Xin cảm ơn!

Bạn thấy bài viết này có ích?
  • Không

  • Bình thường

Bình luận
DMCA.com Protection Status