質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

WebRTC

WebRTC(Web Real-Time Communication)とは、プラグイン無しでウェブブラウザ間の音声通話・ビデオチャットなどリアルタイムコミュニケーションができるオープンフレームワークです。W3CがAPIレベルで、IETFがプロトコルレベルでそれぞれ標準化が進められています。

Q&A

1回答

304閲覧

Firebaseを用いたリアルタイムチャットの公開

koyaGX

総合スコア7

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

WebRTC

WebRTC(Web Real-Time Communication)とは、プラグイン無しでウェブブラウザ間の音声通話・ビデオチャットなどリアルタイムコミュニケーションができるオープンフレームワークです。W3CがAPIレベルで、IETFがプロトコルレベルでそれぞれ標準化が進められています。

1グッド

0クリップ

投稿2019/10/22 08:35

HTML

1<style> 2body { 3 font-family: Helvetica, sans-serif; 4} 5</style> 6 7<template> 8<div> 9 <p>UID: {{uid || 'None'}}</p> 10 <div v-if="user"> 11 <input v-model.trim="newTodoText" @keyup.enter="addTodo" placeholder="Add new todo"> 12 <ul> 13 <li v-for="todo in todos"> 14 <div v-if="todo.owner === user.uid"> 15 <input :value="todo.text" @input="updateTodoText(todo, $event.target.value)"> 16 <button @click="removeTodo(todo)">X</button> 17 </div> 18 <div v-else> 19 {{todo.text}} 20 </div> 21 </li> 22 </ul> 23 </div> 24 <div v-else></div> 25</div> 26</template> 27 28<script> 29import firebase from './firebase' 30const auth = firebase.auth() 31const db = firebase.database() 32const todosRef = db.ref('todos') 33export default { 34 data() { 35 return { 36 user: null, 37 newTodoText: '', 38 } 39 }, 40 computed: { 41 uid() { 42 if (!this.user) { 43 return null 44 } 45 return this.user.uid 46 } 47 }, 48 firebase: { 49 todos: todosRef 50 }, 51 mounted() { 52 auth.onAuthStateChanged(user => { 53 if (!user) { 54 auth.signInAnonymously().catch(err => console.error(err)) 55 } 56 this.user = user 57 }) 58 }, 59 methods: { 60 addTodo() { 61 if (!this.newTodoText || !this.user) { 62 return 63 } 64 todosRef.push({ 65 text: this.newTodoText, 66 owner: this.user.uid, 67 }).then(_ => { 68 this.newTodoText = '' 69 }) 70 }, 71 updateTodoText(todo, newText) { 72 todosRef.child(todo['.key']).child('text').set(newText) 73 }, 74 removeTodo(todo) { 75 todosRef.child(todo['.key']).remove() 76 } 77 } 78} 79</script>

<やりたいこと>
Firebaseを用いたリアルタイムチャットの公開をしたいです。
上記のソースコードは他で拾ったものなのですがこのソースを用いて試しに自分で実際に公開してみたく、今回質問に至りました。

<わからないこと>
・Firebaseで上記のソースを公開する方法
・どこにこのソースを入力すればよいのか

かなり初歩的な質問ですみません。宜しくお願い致します。

退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ご希望のリアルタイムチャットは、どのような形でリリースされる予定でしょうか。
firebaseと言っても、細かく言うと実装の仕方が異なります。

ここを入り口にするのが分かりやすいかと思います。

https://firebase.google.com/docs

この類で一般的なのは、「WEBで使ってみる」でしょうかね。
そこを踏み台にまた質問するとよいのではないでしょうか。

投稿2019/10/22 15:53

rinren

総合スコア107

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

koyaGX

2019/10/23 04:23

回答ありがとうございます。webで公開するのがとりあえずの目標です。 webで使ってみる、を選択し、プロジェクト作成、あとホスティング、デプロイの方法はわかります。 しかしこのソースコードをどこに入力すればよいのかがわかりません。 わかりにくくてすみません。
rinren

2019/10/24 03:54

ホスティングを利用するのであれば、ホスティングのチュートリアルを進めると、アップロード対象となるフォルダが理解できます。イニシャライズをすると、該当フォルダにindex.htmlが生成されるので、そこがまず最初の公開対象となります。そこをゴリゴリ改造すれば良いと思いますよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問