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

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

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

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

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

HTML

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

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

解決済

2回答

5433閲覧

MonacaでNode.jsを使ってチャットアプリを作る

seri

総合スコア422

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

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

HTML

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

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

1クリップ

投稿2017/04/08 01:06

データベースはNiftyCloudを使おうと思います。
しかし、ここでの条件にスクリプト回数とゆうものがあります
http://mb.cloud.nifty.com/price.htm

これは、クラウド(サーバ)に保存したスクリプトを読み込む回数制限です

とゆう事は、もしチャットアプリを作る場合

Monaca(クライアント)からサーバに文章を転送 サーバ側(NiftyCloud)はメッセージが新規に送られた場合、スクリプトを通して全ユーザにデータ内容を反映

となるかと思われます、この場合、メッセージ1回で1回スクリプトを回す事になり、仮にユーザが100人いればすぐさま制限に達してしまいます。

そこで、
クラウドに保存したスクリプトを通さず

クライアントからデータベースに直接アクセスしたいのですが、この場合のSocket通信の実装はどこに書くのでしょうか?
仮にクライアイント側に書くとした場合、MonacaからNode.jsのモジュールにアクセスする方法が解りません、、なんとなくアプリケーションのローカルフォルダ内にモジュールを保存しておき、NodeのプラグインをMonacaに入れればいけそうですが、資料が少なく四苦八苦しております

アドバイスお願いします!!

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

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

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

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

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

guest

回答2

0

結論から言えば、そういうことはできないと思います。
ただし私もnifty cloudに詳しいわけでありませんので、本当に出来ないかどうかはご自分でもきちんと確認してください。

なぜならそういうことができるとniftyは商売あがったりだからです。
クラウドという考え方が無い、つい10年ほど前までは、バックエンドと呼ばれている部分は自分で用意するのが常識でした。
つまりサーバー(機械)を買って、機械のセットアップをして、ネットワークを構成し繋げ、アプリの動作環境の初期セットアップをし、実際にアプリのプログラムを書きテストし、運用開始後も機械やアプリのメンテナンスをし続けるという工程があって、はじめて使えるわけです。

それを省略して、「私たちが用意したサーバー側アプリの機能を使ってもいいですよ」というような考え方がクラウドAPIです。
これで、自分でサーバーを用意したり維持管理する手間は省けました。

ただ、サーバーを用意した側も慈善事業でやっているわけではありませんから、そこには何らかの利益を出す構造が必要です。それが、「○○回アクセスで何円」「無料版ではここまで、これ以上はライセンス買ってね」というようなお金の発生のさせ方です。

もしniftyのデータベースに直接アクセスできるような仕組みがあるとすると、niftyは商売になりません。それではサーバーやネットワークを無料で提供しているだけになってしまいます。

普通は、こういった事情を踏まえた上で、niftyクラウド等のサービスを使うか使わないかという判断をすることになります。

ただ、まずはすぐに制限回数まで達することもないかと思いますし、アプリを作ってみてはどうでしょう?
その後、niftycloudのライセンスを買うのか、それとも別の道を考えるのか、決めればいいと思います。

投稿2017/04/08 01:44

akabee

総合スコア1947

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

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

0

ベストアンサー

結論から言えば、リアルタイムチャットのバックエンドとしては、このmBaaSは不適切です。

サービス自体のトップページにあるように、mBaaSは「スマートフォンアプリでよく利用される汎用的な機能をクラウドから提供するサービスです」が、このNiftyクラウドで提供される機能の中に「リアルタイムチャット」はありませんし、自分でコードを書くにしても「1リクエスト→1レスポンス」のコードしかなく、WebSocketへの対応はシステム上できません。

仮に技術的には常駐が可能だったとしても、プランごとに実行時間にも上限があります。24時間サーバを動かし続けるには、全く足りません。

投稿2017/04/08 01:32

maisumakun

総合スコア145183

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

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

seri

2017/04/08 01:59

データの管理やスクリプト操作はレンタルサーバーVPSとクラウドではどちらがオススメでしょうか、作りたいアプリケーションによって変わるとは思いますが、VPSにクラスごとの検索昨日等実装したことがなく、少しでもいいので経験者の方から見た見解を教えていただきたいです、、
maisumakun

2017/04/08 02:06

クラウドサービスは、何を提供するかすらサービスによって千差万別です。極論、AWSのEC2は「クラウド」上の「VPS」とも言えます。 抽象的に「クラウド」といってもどんなサービスを使うのかわからないとなんともいえませんので、まずはそこを決めて下さい(もっとも、特殊なサービスに依存すると、そのサービスが廃業した時に苦労することにもなります)。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問