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

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

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

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

Q&A

解決済

5回答

1720閲覧

初心者からアプリを製作するためにおすすめの言語や教材はありますか。【Kindleのような読書アプリを検討しています】

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

0グッド

2クリップ

投稿2019/01/24 20:47

お世話になります。

私は、Kindleで本を読むようなアプリを製作したいと考えています。

これまでWebサイトで様々な試みをしてきましたが、本当に快適な読書体験を提供することを考えると、ブラウザではなく、KindleやBookLiveのような読書アプリを製作することが一番だと感じるようになり、Webサイトではなくアプリ開発に興味を持つようになりました。

しかし、私にはアプリに関する知識がまったくないため、とても初歩的な疑問かもしれませんがご質問させて下さい。

Udemyなどのオンラインコースや書店でプログラミングに関する書籍を探すと、アプリを製作するための様々な教材が用意されていたのですがどこから始めるべきか分からず、またゲーム開発がメインとなっているものが多く、私のような初心者がその他のアプリを製作するための知識が学べるのか分からずに迷っていました。

アプリ製作をされたことのある方は、どのようにそれらのスキルを習得されたのでしょうか。
私のようなWeb製作の言語(html、css、js、phpなど)しか触れたことのない初心者が、アプリを製作するために必要な知識やぴったりな教材、また体験談がありましたら教えていただけると嬉しいです。ゆっくりと時間をかけながら、しっかり学んでいくつもりです。

どうぞよろしくお願いします。

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

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

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

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

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

m.ts10806

2019/01/25 02:03

過去質問が何も参考にならなかったということでしょうか。
guest

回答5

0

恐らく懇切丁寧な回答が付くとは思いますが、私から言えることは、現時点で目的に直接結びつかなそうな基礎学習であっても、忌避してはいけないということです。山は一合目から登るべきです。ヘリコプターで、頂上と言わずとも七合目あたりに降り立とうと考えるべきではありません。

投稿2019/01/24 23:54

keicha_hrs

総合スコア6768

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

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

m.ts10806

2019/01/25 02:07 編集

> 山は一合目から登るべきです まずはその山がどんな山かを調べて適切な装備を揃えることも必須ですね。 富士山なんかはルートによっては1合目がえらく高い場所(1400m付近)にありますし、10合目が山頂かというとそうでなかったりもします。 山によって登り方や装備が違ってきますしね。海外か国内かでも。
keicha_hrs

2019/01/25 02:54

mts10806さん、フォローありがとうございます。そうですね、語彙力不足で申し訳ないです。私が言いたかったこともまさにその通りです。
guest

0

C, C++のタグがついていますが、どちらも知らないのならprintfでhello worldするところから始めて、言語の基礎がわかるくらいになってから取り組むしかないんじゃないでしょうか。

冗談とか嫌味ではなく、過去の質問とかを見ると経験値が低そうなので、もう少し経験を積む、プログラミングに慣れる、ツールや言語に習熟して使いこなせるようになる、という体験を一度してみないことには何も作れないと思います。

そういう意味では、他の回答者の方の「とりあえず今持ってるWeb系の知識と技術でやれば?」という回答も正当です。もっと言えば、「とりあえずWebブラウザでやれるところまでやれば良いんじゃない?」でも良いですね。

なお、何のアプリなのか(「アプリケーション」というだけではPC向けもスマホ向けもありえるし、スマホもiOSとAndroidでだいぶ事情が違う)は質問文から読み取れなかったので、C, C++が妥当な選択なのかはまったくわかりません(ただし、CやC++が「アプリケーション開発」で「妥当な選択」になるケースは減ってきていると思うので、確率的には妥当ではない可能性のほうが高いでしょう)。

逆にプラットフォームが決まれば選択肢はそんなに多くはないはずなので、半自動的に決まりそうなものですけどね。

投稿2019/01/25 04:43

編集2019/01/25 08:30
hayataka2049

総合スコア30933

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

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

0

本当に快適な読書体験を提供することを考えると、ブラウザではなく、KindleやBookLiveのような読書アプリを製作することが一番だと感じるようになり

それは何故?
あなたは本当にフロントエンドの真髄まで極めたと言えるの?

これは別に意地悪で言ってるわけではありません。
これは貴方が貴方自身に問いかけるスタートラインになるべきだと判断しました。

考えて考えて、考え抜いてください。
このスタートラインが間違っていたら、貴方の言っている「読書アプリを製作することが一番」という結論はただの寝言です。
しかし、こういう直感というものは不思議と理屈を越えた先で正しいということが多いです。
ビビって取り下げるような事はしないほうが良いでしょう。


私はこの問いに対して、Webサービスは書籍をDLする所から始まる。
電車やトンネル等で気軽に開いたり閉じたりして通信が途切れたときの制御が難しい。
だったらはじめから書籍のデータはローカルのストレージ内に放り込んでしまった方が楽ではないかと考えた……
というシナリオを想像しました。

しかしこれは、私がJavaScript+ブラウザの限界が大体どのへんにあるのかという経験則から言ってるだけの話であり
質問者さんが流されて頷いても本当に現状の不満がそこにあるのか否かは誰にもわかりません。
後から思ってたのと違うという感想を抱く可能性は非常に高いと見ています。

なので思ってたのと違うと感じたのであれば、
何故そう思ったのかを言語化する努力は継続してください。
そして適切な改善方法を考えていかないと、一生思ってたのと違うを繰り返すだけで何も作れない人間のまま一生が終わることでしょう。


というわけで一旦はElectronへ行き
Node.jsに慣れつつElectronでのアプリ開発を勉強すべきでしょう。

ElectronはJavaScriptの部分をNode.jsに置き換えただけのWebアプリのローカル版として機能します。
画面の表現に使うのはChrome互換のChroniumであり、HTML・CSS・JSといった普通のWebアプリを作るのと同じような感覚でアプリを開発していくことになります。

唯一違うのがJavaScriptの部分がNode.jsであること、
JavaScriptではできなかった自由なローカルファイルの読み書き、Ajaxに縛られない自由なインターネット接続、C言語等で作られた高速なライブラリの力を借りることが出来る…などなどです。

もし最終的に「だったらElectronでなくて、普通のWebアプリでええやん」と結論が出たとしましょう。
その時、Electronで培ったNode.jsの扱いやHTML・CSSの技能はそのままWebアプリ開発へ持って帰れます。
Javaの思想で「Write once, run anywhere」がありますが、その技能版といった形でHTML・CSS・JSは色んな所に持ち込んで実力を発揮することが可能です。

スマホもWebViewというHTML・CSS・JSをスマホアプリとして動作させる機能が存在しているため、
Electronで培った技術は活かせるでしょう。
速度面での不満を抱えてから改めてKotolinやSwiftといった言語に手を出しても十分だと思います。

投稿2019/01/25 01:42

編集2019/01/25 04:35
miyabi-sun

総合スコア21158

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

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

0

ベストアンサー

Web製作の言語はどう学んだのでしょうか?
どの言語・ソフトでも基本は変わらず、最初の手順は
「開発環境構築→Hello World→ビルド→本格的なプログラミング」です。

個人的には、本当に初めてかつネイティブアプリ開発をしたいならiOSなら「Xcode」、Androidなら「Android Studio」をオススメします。
もちろん別の方法も色々あるのですが、とりあえずこれらでHello Worldとビルドまで進めて、それから別の方法も考えるのがベターかなぁと思います。

自分は「ひたすらGoogle検索」スタイルの学習なので具体的な教材のオススメは出来ないのですが、教材としては「自分が理解出来ると思ったもの」「自分の作りたいものに近いもの or 本当に初歩的な内容」でいいかと思います。


実際にどの言語・ソフトが最適かは要件によります。
今回なら「『本当に快適な読書体験』とは何か?」という点です。

それは本当にアプリなら実現可能なのか?
ネイティブでないと出来ないのか? 別言語でもいいのか? 簡単に出来るライブラリはあるのか? などなど、色々確認が必要になってきます。
それに内容によっては、もしかしたら何らかの(多くの場合アプリ配信ストアの)規約違反になってしまったり、もしかしてもしかするとKindleの特許の侵害になってしまうかもしれません。

もちろん「学習目的のみ、リリースはしない」ということならこの辺は緩和されると思うので、とりあえずやってみるというのもアリだとは思います。
一通りやってから「うん、これは違うな」というのも経験の1つになるとは思いますので。

投稿2019/01/25 02:08

sakura_hana

総合スコア11427

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

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

0

Kindleで本を読むようなアプリを製作したいと考えています。

プログラミング初心者がKindleアプリのようなものを製作するのは、できないとは言いませんが、はっきり言って無謀です。

使いやすいアプリというのはそれなりの努力の賜物であり、一般的には素人さんが簡単に作れるものではありません。

ただし、アイデアは別です。そのアイデアをプログラムで実現する力はないけど、アイデア力だけは人には負けないというのであれば、そのアイデアを実現できる人を探してコラボすればいいと思います。

投稿2019/01/25 07:54

PineMatsu

総合スコア3579

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問