# uwuzu Light Client uwuzuの軽量クライアント(を目標にしている)です。 ネットワーク通信量の削減(とメモリ使用量の削減をしたい)をしています。 ULCと略します。 ## ULCを始める > **WARNING** > ULCは現在alpha段階(検証・機能の完全性が保たれていないバージョン)です。 この時点でULCを使用する場合、今後のアップデートなどがプログラム上使用できなくなる可能性があります。 開発者であり、復元方法を理解しているか自己責任で使用することを理解した上でご利用ください。 ### サイトにアクセスする ##### 絶対に使う前に下のほうにある「仕組み」を読んでください。 読まないと困惑すると思います。 開発者もクレーム対応するほど元気じゃないので。 #### 読んだ!! https://ulc.last2014.com にアクセスするとULCを使用できます。 利用規約に同意しないと開発者が恨みます。また、単純にやばいやつです。 ### 開発する > **NOTE** > ULCの開発を手伝ってくれる人がいれば是非お願いします。 当Giteaのアカウントを作成し、通常のGit通りにプルリクエストしてください。 > **TIP** > このセクションは開発者向けです。 Scratchとかそういうのじゃなくマジモンのやつです。 何もわからない人は飛ばしてください。 前提要件: - 以下の開発/使用経験がある。 - Vue 3.2以上+Composition API - Vue Router 4 - TypeScript 5 - Node.js - pnpm - Indexed DB - Service Worker - バックエンドとフロントエンドの違いを理解している - uwuzuとuwuzuサーバーの仕組みを理解している ``` pnpm install pnpm run dev ``` IndexedDBにたしか全データ入ってます。 やらかしたら削除したら多分復旧します。 ## 仕組み ### 前提知識 > **TIP** > uwuzuはSNSサービスを作るソフトである。 uwuzuを使って作ったサービスはuwuzuサーバーと呼ばれる。 uwuzuサーバーにはゆずねっとなどが挙げられる。 uwuzuには内部とクライアントというものがあります。 クライアントとは、内部をいじるためのサイトやアプリです。 uwuzuサーバーに登録するとき、あなたは`https://uwuzu.net`や`https://uwuzu.net/home`などのサイトにアクセスしたと思います。 これが、クライアントです。`https://uwuzu.net`はゆずねっとですが、URLが、`uwuzu.net`ほぼそのままですよね。 このクライアントは、uwuzuサーバーに内蔵されているため、わかりやすいURLになっています。 ただし、uwuzuサーバー内臓のクライアントは、設計で重くなっている部分が多いです。 そこで、ULCはネットワーク通信量(とメモリ使用量も削減したい)を削減しています。 ネットワーク通信量を削減することで、ネットに繋がる量が減ります。(当たり前) ネットに繋がる量が減ることで、スマホのギガがなくなったとしても、少しはましに使えます。 ### 具体的にどこ削減してんだよ uwuzu内臓クライアントは、サイトのプログラムを毎回ネットから奪ってきています。 ULCでは、プログラムを全てスマホやPCなどの端末内に保存します。 こうすることで、プログラムの部分(多分2番目くらいに大きい)の量を削減できました。 じゃあユーズ、自身のプロフィールはどうするのか。 これらの情報は、必要な分だけuwuzuサーバーから奪ってきます。 ### メディア!! uwuzuではユーズの画像/動画やアイコン、メディアがたくさんありますよね。 uwuzu内蔵クライアントでは全てのメディアを毎回uwuzuサーバーから奪います。 これではよく見るユーザーなど、無駄な通信が多いです。 そこで、ULCでは全てのメディアを端末の中に残します。(厳密には残そうとしていますがuwuzuサーバーがダメ!!って言ったりバグとかでできなかったらしません) そのため、よく見るユーザーのアイコンなどの通信量が削減できます。 ### あれ?なんでパスワード打ったりしてないのに情報を奪えるの? uwuzuにはAPIというuwuzu内臓クライアント以外からuwuzuをいじる機能があります。 ULCのサインイン時に、許可するかどうかのuwuzu内臓クライアントの画面が出たと思います。 あそこの画面とULCがくっついていて、許可を押すことで、パスワードとは違う情報を奪う時の鍵がULCに送られます。 その鍵を使って情報を奪っています。 ### APIでできないこと めっちゃあります。 uwuzu内臓クライアントは専用の道を使っておりAPIは使っていません。 APIのできることはuwuzu内臓クライアントのできることに比べてかなり少なく、まず**ユーザーのタイムラインが見れません。**その上**絵文字を奪えません。** 絵文字を奪えないのはかなり致命的だと思うので絵文字がないと嫌な人はULCを使わないほうがいいと思います。 ULCはAPIのできることをフル活用しているのでULCでできないことはまだ完成していないかuwuzu側がそもそも無理です。気長に待ちましょう。 ### 仕組み解説終わり!! 一般ユーザーの方ここまで読んでくれてありがとうございます。 ここで仕組み解説は終わりです。 ULCを使ってバグを見つけたりしたら[Last2014](https://about.last2014.com)に報告いくらでもしていいです。遠慮せずに。