1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PHPでLINEのクローンアプリを作成

Last updated at Posted at 2023-10-03

メッセージを送受信ができるアプリを作ってみました。

ezgif.com-video-to-gif (2).gif

リポジトリをclone

git clone https://github.com/gong-cha/line-clone

ソースコード

実装した機能

  • 新規登録
  • ログイン
  • ログアウト
  • アカウント削除
  • リアルタイムメッセージ受信
  • 画像投稿
  • アイコン表示
  • 既読機能
  • ユーザー一覧に最新のメッセージ表示

意識したこと

  • プリペアードステートメント
  • 飲んす機能
  • デザイン

リアルタイムメッセージの手法の検討

ブラウザに通知する方法の検討

  • WebSockets
    • レンタルサーバーでは、pushできない
  • Server Sent Events (SSE)
    • よさそう
  • Long Polling
    • Server Sent Events (SSE)の方がコネクション節約できそう
  • Short Polling
    • Server Sent Events (SSE)の方がリアルタイム性ありそう

新しいメッセージの検知

  • inotify
    • レンタルサーバーにphpizeでインストールできないため却下 (php-develがインストールできない)
  • pcntl_signal
    • php cliでしか使用できないため却下
  • MySQL Binlog stream https://github.com/bullsoft/php-binlog
    • レンタルサーバーにphpizeでインストールできないため却下 (php-develがインストールできない)
  • TCP/UDP Socket
    • Unix Domain Socketの方がプロセス間通信の効率よさそう
  • Unix Domain Socket (抽象名前空間)
    • よさそう

参考にしたサイト

LINEのクローンアプリを作成してみた

Reactでアプリを作成しました【9】【LINE clone】

ReactでLINEクローンの作り方 - React×Firebaseチュートリアル

1ヶ月でLINEクローンを開発!LINEの新卒エンジニア技術研修をご紹介

まとめ

まだまだ分からない部分がありますが、職業プログラマーとして働けるように就職活動していきます。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?