ndv92
Senior Member
Giới thiệu bản Siyuan-Fork trên android:
Tiện trong quá trình mày mò thì cũng nắm được kiến trúc client của Siyuan:
- Tác giả: mình
- Tính năng: Cho phép chọn home directory để lưu workspace trong shared storage nên các app bên thứ 3 cũng có thể đọc/ghi được => sync được bằng các giải pháp như git, syncthing, rclone,...
- Nhược điểm:
- Sync chính chủ chỉ update những chỗ thay đổi nên hoạt động nhẹ nhàng, chuẩn xác, lúc nào cần sync bấm hình đám mây là xong.
- Sync thủ công: ghi đè file chứ không phải từng mảnh data nhỏ, nên về lâu dài có thể khá nặng nề, lại còn nguy cơ hỏng/mất data. Mỗi lần sync xong phải đóng/mở lại app để chạy lại index.
Tiện trong quá trình mày mò thì cũng nắm được kiến trúc client của Siyuan:
- Kernel viết bằng Golang, xử lý logic.
- 1 con Http server đứng giữa, giao tiếp với người dùng và gọi kernel. Khá khen là không dùng framework mà code theo kiểu imperative, dễ optimize.
- Wrapper: iOS app, Android app, Electron app, tất cả đều rất đơn giản, chỉ làm 2 nhiệm vụ là khởi động http server và kernel, sau đó mở một cái webview ra là xong. Do đó dùng Siyuan trên web (local) và trên app là như nhau. Web và app trên mobile bị hạn chế tính năng, nhưng chỉ cần mở web bằng desktop user agent là full.