無料でDB利用のハイブリッドアプリを作る方法を教えてください。
- 評価
- クリップ 2
- VIEW 2,179
プログラミング初心者です。JavaScriptの実践演習として、JavaScript一本でスマホ用アプリを作りたいと思い立ち、ハイブリッドアプリの開発環境を整えることに奮闘しています。
Monacaが王道のようなので、それを使おうとしたのですが、Monacaでのアプリ開発でデータベースを利用する(SQLite)場合、有料プランに入らなければならないそうで、無料でやりたかったので、やめました。
無料でJavaScript(node.js)のみでデータベースを利用する方法はあるでしょうか?
ご回答よろしくお願いします。
【試したこと】
・JavaScriptで作れるハイブリッドアプリの開発方法、環境整備について調べた
・Monacaに登録してみた
・データベースの基本について、インターネットや書籍で調べた
・JavaScriptのみで扱えるデータベース管理システム(SQLite、WebSQLなど)について調べた
【備考】
スマホアプリ開発の王道であるAndroidのJavaやiOSのSwiftを採用しない理由は以下の通りです。
・あくまでJavaScriptの実践演習にしたいから。
・「プログラム言語入門者は、同時に複数の言語に手を出すのはよくない。まずは一つの言語に絞って、それでプログラミングの基本を覚えるべきだ」
といったことが本に書いてあったから。(谷尻かおり/これからはじめるプログラミング基礎の基礎(改定3版)/第2章 4.1 p.57-58)
・以下のサイトに、JavaScriptは、Webコンテンツだけでなく、ハイブリッドアプリという形でネイティブアプリに顕色ないスマホアプリを開発できたりと、とても汎用性の高い言語だとあったから。
https://www.sejuku.net/blog/8273
要求としては、以下の通りです。
・必要に応じてSQLを覚えるつもりはある
・そんなに大変じゃないことを積み重ねて自信をつけたい
・アプリを仕上げる上で不必要に面倒な要素の数をなるべく少なくして、なるべくハードルを下げたい
・現時点ではサンプルプログラムくらいの規模のプログラミング方法しかしらないので、実際に実用的なアプリを開発する上で、それに付随するデータベースだとかAPIとかいった仕組みをどうやって組み合わせているのか、環境整備、といったアプリ作成の流れを実感として知りたい
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
+5
無料でJavaScript(node.js)のみでデータベースを利用する方法はあるでしょうか?
学習が目的であれば、自分のPCに無料のデータベースをインストールするのがおすすめです。
・「プログラム言語入門者は、同時に複数の言語に手を出すのはよくない。まずは一つの言語に絞って、それでプログラミングの基本を覚えるべきだ」
これは、アプリ開発でも同じことが言えます。
「アプリ開発入門者は、同時に複数のプラットフォームに手を出すのはよくない。まずは一つのプラットフォームに絞って、それでアプリ開発の基本を覚えるべきだ」
- JavaScript をやりたい
- SQL を覚えたい
- スマホアプリを作りたい(iOS もやりたいし、Android もやりたい)
とやりたいことがたくさんありすぎて、どれから手をつけて良いのか分からない状態になりそうです。
プログラミング初心者が、いきなり Monaca でハイブリッドアプリを開発するというのはかなりハードルが高いですし、もう少し目標を絞った方が良いと思います。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
checkベストアンサー
+4
たとえばこの辺だと、数千円で名刺ケースサイズの小さなlinuxマシンを手に入れることができます。
Raspberry Pi 3 Model B+ スターターセット BASIC
次にこの辺を参考にお家サーバを立てて存分にDBの運用を体験してみてはどうでしょう。
SQLite の導入~ ラズベリーパイ研究室
どんな無茶苦茶をやっても文句を言われない状況で失敗経験を重ねることができる環境は非常に有効です。
マニュアル本のたぐいも少しは買っておきたいところでしょうから、マシン含めて全部で1万円ぐらいかかるでしょう。それぐらいの初期投資はしないとしんどいと思います。
monacaは以前私もちょっと試してみました。無料でいろいろできるのはありがたいですが、よくわからない制約もあり、そういったことを調べるのが面倒で止めてしまいました。結局、初級者が勉強するにあたり、低性能でいいから好きに使える実機を手元に置いておく以上の楽な方法は無いというのが実感です。やっぱりMySQLでないときついとか、pythonでWAF使ったほうがいいかも、となったときにも比較的簡単に対応できるでしょうし。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+4
mBaaS(バックエンド関係をまるっと任せられるサービス)としてMonacaは有名ですが、他にもいろいろあります。
例えばGoogleが提供するFirebaseでは無料でJavaScriptのライブラリを用いてJavaScriptで簡単にDBを使うことができます。
Firebase 料金表
しかしFirebaseではMonacaと違い、モバイルアプリにデプロイする方法はありません。そこで、Apache Cordovaを用いればHTML, CSS, JavaScriptで作成したウェブサイトをハイブリッドアプリすることが可能です。
上記以外にも無料でハイブリッドアプリをつくる方法はあります。
Monacaの代替を探すのではなく、まずMonacaの機能を細分化してそれらに変わるサービスを探すのが早道かもしれません、
ただし、複数の技術を用いればその分学習することが多くなるので、大変です。上記の人の回答通り出費を惜しまない気持ちも必要だと思います。
余談ですが、スマホでうごくアプリっぽくしたいだけならPWAなんて選択肢もあると思います。
PWAとは(Progressive Web Appsとは) | SEO用語集:意味/解説/SEO効果など [SEO HACKS]
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+2
無料利用したいならクレジットカード登録必須だが無料枠のあるサービス(aws,ibm,herokuなど)を見繕えばいいだけかと思いますが?
(よくある事故を起こしてくれそうですが(笑))
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
ちょっと厳しいこと言いますが、
時間も環境もひっくるめて全て「投資」です。
なので、数千円程度の投資を惜しんでいる人にまともなアプリが作れるとは思えません。
書籍、幾らしました?現在ある程度勉強を進められてきたようですが、どれくらいの時間と労力をかけました?
ここにきて「無料でやりたい」というのはなぜでしょうか。必要と分かっているからの投資ではないのでしょうか。
私にはその感覚が分かりません。
「どうしても」というのでしたら
自宅に公開用のサーバーを立ててやってみると良いでしょう。
レンタルサーバーを借りたりmonacaのようなサービスを利用するのとどちらがコストがおさえられるでしょうね。
アプリケーションを作りたいのでしたら、なるべくアプリケーションを作ることだけに集中できる環境を作ることも「必要な投資」なのではないでしょうか。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
「JavaScriptでモバイルアプリを作る」ということが目的なのであれば、ハイブリッドアプリではなく、React Nativeでネイティブアプリを作ってしまう、という選択肢もあります。
とはいえ、これもこれで癖が強い環境であることも間違いありません。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.35%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
dice142
2019/02/27 18:08
「・そんなに大変じゃないことを積み重ねて自信をつけたい」「・アプリを仕上げる上で不必要に面倒な要素の数をなるべく少なくして、なるべくハードルを下げたい」と仰っているのになぜいきなりハイブリットアプリにこだわるのでしょう?
段階を踏んでまずはブラウザで閲覧できる動的な何かを作成した方が要求通りかと思うのですが。
2019/02/28 02:41
複数のユーザーから「問題・課題が含まれていない質問」という意見がありました
teratailでは、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。
「編集」ボタンから編集を行い、質問の意図や解決したい課題を明確に記述していただくと回答が得られやすくなります。