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

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

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

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

JavaScript

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

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

4回答

1441閲覧

プログラミングの言語選び

cherepaho

総合スコア1

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

JavaScript

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

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

1クリップ

投稿2020/09/15 09:42

前提・実現したいこと

ここに質問の内容を詳しく書いてください。

初めまして
プログラミングを学びアプリ開発を目指しています。

全くの初心者のためどこからどう学べばいいのか、
わからないことだらけです。

Java Script の本を購入してみたりいろいろ試したのですが、
自分は何の言語を学ぶべきか、どのツールやソフトが必要なのか
理解すらしていません。

来月にプログラミングのスクールに通うことを視野に入れていますが、
なんの言語のカリキュラムに入ればいいのかわかっていません。

そこで自分が作りたいアプリは何の言語と機能が必要なのか
教えていただきたいです。

1.コミュニケーションアプリ
2.チャット相手を見つけるアプリ
3.世界で実施可能
4.カレンダー機能あり
5.twitterのように投稿可能
6.リンクや写真などの投稿可能
7.マッチングアプリに近い
8.iPhone,androidで使用できるアプリ
(そのためJava scriptの本を選びました)

以上です。

これらの機能を備えて作成する場合、
何の言語が必要でしょうか。

また、学ぶ時間に1年半。
作成時間に2年を視野に入れています。

どなたかご返信いただけたら幸いです。
よろしくお願いいたします。

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

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

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

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

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

miyabi_takatsuk

2020/09/15 09:57 編集

> 機能を備えて作成する場合、 何の言語が必要でしょうか。 結局やりたい企画内容はマッチングアプリでしょうか? 初学では大変ハードルが高いように思いますが。 機能は、質問者さんのレベルでは一気に作るのは難しいとお見受けします。 一つ一つ機能をクリアしていかれるといいかと。 それと、Javaですか?JavaScriptですか? 間にスペースが入るとどちらかわかりにくくなりますよ。
m.ts10806

2020/09/15 10:00

>学ぶ時間に1年半 1日使える時間は? あと、これまでに経験は? 未経験だと1年半じゃ、とても足りませんよ。たぐいまれな才能があれば別かもしれませんが、多くは凡人です。
dodox86

2020/09/15 11:17

学ぶこと自体に1年半かけ、その後2年かけて実際に欲しいものを作る、と言うことでしょうか。だとするとどんな言語であれ、モチベーションが保てないのでは。途中で気が変わることもあるでしょう。少しずつ作ったらどうですか。(回答ではないのでコメントのみですが)
guest

回答4

0

まず、言語ごとの得意分野(よく利用される分野)を調べてください。
その中で「あなたの要求」に一番合うと思ったものを選べばいいだけです。

例えばブラウザで動作するアプリケーションで、GUIで様々な機能を実現させたいのであれば、現時点ではJavaScriptを学ぶ必要がある、という事がわかるでしょう。全てのモダンブラウザが対応しており、資料も豊富にあるためです。

ただし、アプリケーションがブラウザだけで完結するとは限りません。サーバーサイドの実装にもNode.jsを使ってJavaScriptで実装することは可能ですが、別の言語の方が実現したい機能を実装するためのフレームワークが整備されているかもしれません。その場合は別の言語を学習する必要も出てきます。データベースを扱う場合はSQLも学ぶ必要が出てくるかもしれません。

これらはすべて「あなたの具体的な要求」に基づくものであるため、他人が決めることはできません。

また、特定の言語がある程度わかるようになれば、別の言語を学習する際に応用できる知識も身に付きます。なので、まずは「自分が作りたいものに必須の言語は何か」を考え、ひとつずつ必要に応じて学習していくしかないんじゃないでしょうか。

この手の話は学校のお勉強とは違い「これが正解」というものはありません。
他人に判断を委ねるのではなく、自分で考え、自分で決めましょう。

投稿2020/09/15 10:04

編集2020/09/15 10:27
gentaro

総合スコア8949

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

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

cherepaho

2020/09/16 02:43

ご回答ありがとうございます。 JavaScriptの本を持っていますので、それをもとに励みたいと思います。 皆様がご回答してくださったことで、 自分の学ぶスタイル、何をどうするのかという順序がわかりました。 ご回答ありがとうございました。
guest

0

全てに答えると、広範になりすぎるので、

何の言語が必要でしょうか。

にだけ回答します。

ですが、まず、ターゲットのプラットホームを決めてください。
ターゲットプラットホームによって、使用するべき言語は変わります。

iPhone、Android両方のアプリ

両者をクリアするには、大きく分けて二つ方法があります。

  • 各デバイスのネイティブ言語で実装

それならば、iOSは、Swift、Androidは、JavaやKotlinなどです。

  • マルチプラットホームに同時にビルドするようなサービスやアプリを使用

であるならば、monacaなどが有名です。
monacaならば、HTML、CSS、JavaScriptの習得が必要です。
他のものならば、そのサービスやアプリで使用している言語の習得が必要になります。

アプリではなく、Webベースで実装

HTML、CSS、JavaScriptの習得が必須となります。

どちらにせよ必要なもの

どちらにせよ必要なのが、サーバーサイドの言語習得ないし、技術です。
ユーザーの情報を管理せねばならないため、セキュリティ面での知識や技術も必要になるでしょう。
言語で言えば、PHPやRuby、Pythonなどです。
それらのサーバーサイドで動かす言語を使わないにしても、
FireBaseなどのクラウドサービスの使い方の習得は必要になるでしょう。

以上です。
挙げた機能などを実装するには多くの技術や知識が必要になります。

投稿2020/09/15 10:09

miyabi_takatsuk

総合スコア9528

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

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

cherepaho

2020/09/16 02:39

ご回答ありがとうございます。 JavaScriptの本を持っているので、 それとともに少しずつ習得していきたいと思います。 プログラミングの学校にも自分の必要な言語とスタイルが大まかに決まったので、 放課後通いつつ学んでいこうと思います。ご回答ありがとうございました。
guest

0

html、javasvriptなどのweb系の言語を用いて開発し、electronやcordovaなどでアプリ化するのが良いかと思います。

web系の言語はオープンな技術を使用しており、複数のOS版とweb版を一度に開発できるメリットがあります。
サーバーとの通信も簡単に実装できますので、お勧めしたいです。

参考URLです。
https://html5experts.jp/shumpei-shiraishi/24253/

投稿2020/09/16 04:39

ex025

総合スコア179

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

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

cherepaho

2020/09/16 05:45

そんな方法もあるんですね! ありがとうございます!
guest

0

ベストアンサー

質問者さんが作ろうとしているアプリに必要な言語について

質問者さんが作ろうとしているアプリは、実際はAndroidアプリ、iOSアプリ、バックエンド(サーバサイド)などからなるシステムです。一般的なやり方だと、システム全体を完成させるのに少なくとも3つ以上の言語を習得する必要があるかと思います。各サブシステムに必要な言語を以下に挙げます。

Androidアプリの開発に必要な言語
Kotlin,DartまたはC#から選択

iPhoneアプリの開発に必要な言語
SwiftまたはC#から選択

サーバサイドの開発に必要な言語
Scala, Ruby, Java, C#, JavaScript, Python, Go, Rustなどからお好みのものを選択

データベースの開発に必要な言語
SQL

ですので、システム全体を作る言語の選択としては以下のような例が考えられます。

サブシステム言語
AndroidアプリDart
iOSアプリSwift
サーバサイドScala/SQL

一応、以下のような選択もできるかもしれませんが、メジャーなやり方ではないので、躓いたときに必要な情報が見つけられず苦労する(手詰まりになる)リスクもあります。

サブシステム言語
AndroidアプリC#
iOSアプリC#
サーバサイドC#/SQL

どこから始めるか?

将来的に色々な言語を習得するにあたり、まず何の言語から挑戦するか、ということを考えた場合、個人的にはJavaScriptをお勧めしています。なぜなら、初期のJavaScriptは開発環境の構築が容易だからです。エディタとブラウザがあれば学習を始められます。開発環境の構築はそれ自体が挫折してしまうリスクのある作業です。プログラムを1行も書かないままプログラミングをあきらめてしまうのはもったいない。これは、プログラミング言語そのものの特性が初学者向きかということは考慮していない選び方です。

プログラミング言語の初学者がよい書き方を覚えるのに向いているプログラミング言語としてはPythonなどが向いていると思っています。

なお、プログラミングで用いられる概念や求められる考え方はどの言語でもかなりの部分共通しています。最初に学んだ言語がどの言語であれ、十分に経験を積んだら、次の言語はもっと早く習得することが可能でしょう。

投稿2020/09/15 10:50

AtsushiYonenaga

総合スコア116

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

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

cherepaho

2020/09/16 02:36

ご返信ありがとうございます。 わかりやすいご説明感謝いたします。 javascriptをメインに毎日少しずつ学んでいきます。 また、一人で作るわけではないので、 一緒に作り上げる仲間達と共有しながらやろうと思います。 3言語の習得はもちろん難しいとは思いますが頑張ります。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問