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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

6回答

1922閲覧

素人がAndroidアプリを開発する最短経路について

teratail_begin

総合スコア72

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

1クリップ

投稿2019/11/09 06:15

前提・実現したいこと

初心者がAndroidアプリを開発したいです。
そのための最も効率の良いやり方(プログラミング言語選び)を考えていますが、いろいろあって悩んでいます。

前提としてphpはそこそこ分かりますが、Javaの知識はゼロ。
ちょっとだけ調べたところJavaは記述が冗長すぎて自分の性格には合わなそうな気がしていて、Kotlinが良さそうな気もしています。

これからJavaの基礎から始めるべきか、それともいきなりKotlinから学習しても大丈夫なものなのか、あるいはもっと別の選択肢(言語)がありうるのか。

開発環境はAndroidスタジオを使いたいと思っています。

作りたいアプリは、今のところそんなに高度なものは予定しておりません。
(ロジック的には単純な、趣味の便利ツール的なもの)

皆さんのおすすめのやり方・言語選び等についてアドバイスをいただけましたら幸いです。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/11/09 06:28

とりあえず、AndroidStudioはインストールして、テンプレートをコンパイルしてAndroidにインストールしてみるくらいのことはしてから質問してますか?
teratail_begin

2019/11/09 08:03

AndroidStudioはインストールしました。「テンプレートをコンパイル」というのは意味がよく分かりませんが、Hello worldをrunするまでは、やってみました。
guest

回答6

0

王道はないので地道に基礎からやってください。

。。。くらいしかこの手の質問には応えようがなかったりします。

「Javaは冗長だから自分には合わない!」とちゃんと触る前から言っている人ですから、的確なアドバイスって難しいんですよね。
「ならご勝手にどうぞ」と感じる人も一定いるでしょう。

選ぶのは自分なので、他人の意見に左右されず、思うがままやっていってください。
別に失敗したとてエラーに悩むくらいでPCが壊れるようなことでもないし、人生で挫折を味わうようなこともないので、むしろ地道にやったうえでどんどん失敗していってください。

他人の意見をあれこれ聞くより何倍も成長の糧になるでしょう。

投稿2019/11/09 06:22

m.ts10806

総合スコア80850

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

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

退会済みユーザー

退会済みユーザー

2019/11/09 06:28

あれ?王道は「地道に基礎から」だと思ったけど
swordone

2019/11/09 07:29

「幾何学に王道なし」と似たようなものだと思いますが。
m.ts10806

2019/11/09 07:47

学問に王道なし です。 簡単とか最短とかそんなもんはないと言いたいわけで。
swordone

2019/11/09 08:05

もともとエジプト王がユークリッドに「幾何学を簡単に学ぶ方法は無いのか」と問われて答えた言葉が元なので、オリジナルは「幾何学に王道なし」です。「学問に王道なし」も確かに使いますが。
m.ts10806

2019/11/09 08:09

はいそれは存じていますが、より馴染みがある方を持ってきました。 いずれにしてもショートカットせず基本から地道にやろうねってことで
teratail_begin

2019/11/09 08:13

「ご勝手にどうぞ」とか「とにかくやってみろ」では、Q&Aサイトとして成立しないというか、質問を投稿するまでもなく「そりゃそうなんですが」という話になるかと思いますが…。 別にこれを仕事にしたいとか極めたいとかいうわけではないし、「そこそこの努力でそこそこの成果を得る」というライフハックはどんな分野にもあると思うので、それについての知見を質問しております。
m.ts10806

2019/11/09 08:18

正しく伝わるように、得たいアドバイスを得られるように質問を編集してください。 「楽して稼ぐ方法はないか」と聞かれているような印象を持った人は少なくないはずです。 前提として書いた通りにしか動かないのでそこそこの労力だとそこそこのものしかできません。 まずはそこそこで良いのでやってください。 phpが多少でも分かるのなら分かることもあるはずです。 私自身、PHPすら業務で知ってそれ主でやってきてJavaはあとから業務で覚えましたが、そのアドバイスは活きなさそうなのでこれくらいで。
teratail_begin

2019/11/09 09:18

「楽して稼ぐ」=「悪」という価値観の人とは話が噛み合わないかもしれませんね。
m.ts10806

2019/11/09 11:13

そういう話をしているわけではないので、そういう振り方をするのであれば合わないと思います。
teratail_begin

2019/11/09 11:54

「そういう振り方」をしてきたのはあなただと思いますが…
m.ts10806

2019/11/09 12:05

揚げ足取るわけじゃないですが、タイトルにでかでかと「最短経路」と書いてあります。ご自身で書いたのではないですか?
guest

0

ベストアンサー

AndroidプログラミングとしてはJavaを使ったものの方が古くからあるので情報が豊富ですが、PHPがそこそこ、と言うプログラミング経験であれば、Javaを先にやってからKotlinをやっても混乱があるだけだと思います。ですので、すでに質問者さん自身が食指が動いていて、GoogleもこれからのAndroidアプリ開発用の主力言語として勧めているKotlinで良いのではと思います。更に言えば、最初はどちらを使ってもプログラミング言語以上にAndroidプログラミング特有の難しさ(≒面倒臭さ)が壁になるかと思います。

と言いますか、すでにコメントや回答をいただいているように、とにかく手を動かして何か作ってみましょう。

投稿2019/11/09 06:49

dodox86

総合スコア9183

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

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

dodox86

2019/11/09 06:58

「とにかく作ってみましょう」とは書きましたが、言語の基本を習得するのは後回しで良い、と言うことではありません。「最短経路は何か?」と最適なコースを最初から得ようとするのではなく、最初に何かひとつ決めて、損得無しにやってみましょう、と言うことです。そういう意味では他の方のコメントや回答と同等です。
teratail_begin

2019/11/09 08:07

ありがとうございます。 私の質問の書き方がちょっと良くなかったのですが、要は「Kotlinを学ぶためにJavaの素養が必要なのか?」ということが知りたかったのです。ちょっとだけKotlin入門サイトなどを調べたところ、なんとなくJavaを知っている前提で書かれている気がしたので、もしかしてJavaを一通り知っていないとKotlinを理解できないのかな?と思いまして…
dodox86

2019/11/09 08:27 編集

うーん、どうでしょうね。JVMで動作するKotlinはJavaとの相互運用性が高いというふうに言われていますし、今現在、Javaをプログラミング言語として常用できる方にとっては、Javaの良し悪しを理解した上でKotlinへ移行できるのでスムーズかつメリットがあるかと思いますが、Javaをまったく知らない方がKotlinを理解するためにその前にJavaを基礎として勉強するのは、それこそ遠回りなのではないかと、個人的には思います。(そもそも、Kotlinの前にJavaをどこまで勉強して基礎を習得できた、と自分で納得できるでしょうか)
teratail_begin

2019/11/09 09:21

つまり「Javaの知識ゼロでもKotlin学習には支障ない」というご意見ですね? ありがとうございます。
dodox86

2019/11/09 09:41

> 「Javaの知識ゼロでもKotlin学習には支障ない」というご意見ですね? この件につきましては、そういう意見です。 さて、「ライフハック」と言う言葉が出てきました。再度、質問を読み直したのですが、ここでもし質問者さんが「とにかくAndroidアプリを作り上げたい。言語はどちらかというと二の次」と言うのであれば、実は迷わずJavaをお勧めします。理由は私の回答の冒頭で「Javaを使ったものの方が古くからあるので情報が豊富」と述べたのと併せ、他の回答者であるjun74さんと同様です。 そうではなく(私はご質問を読んだ当初、そう思ってしまったのですが)「初心者だけど、Androidアプリを作りつつ、プログラミングを楽しみたい。せっかく新しく言語を学ぶのであれば、ちょっと調べて冗長に感じたJavaは避けたい。ある程度の将来性も確保したい。」と言うのであれば、この場合は迷わずKotlinをお勧め、と言うことになります。「みすみす間違った長い道のりは避けたい」との意味での「ライフハック」の言葉だと思いますが、要は目的次第と言うことですね。
teratail_begin

2019/11/09 11:54

とても為になるご意見ありがとうございます。 どちらも一理あると思います。
guest

0

Flutterという選択肢もあります。ご参考まで。
混み入ったことをしようとすると手詰まりになるよう
(用意されている部品を組み合わせるものと思われる)
ですが、簡単なアプリならば有用そうです。

2Hぐらいで環境構築からHello Worldまで行けました。

Flutter
Flutter Wiki

投稿2019/11/09 12:42

otaks

総合スコア223

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

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

teratail_begin

2019/11/10 04:16

ありがとうございます。 シンプルなアプリなら良さそうですね!
guest

0

「そこそこの努力でそこそこの成果を得る」というライフハックはどんな分野にもあると思うので、それについての知見を質問しております。

アイデアと収益化の経路がしっかりしているのなら、「他人に発注する」という方法も存在します。ただし、クラウドソーシングなど外注に出して仕上がらなかった場合、自分にスキルがないと手に負えなくなります。

投稿2019/11/09 11:38

編集2019/11/09 11:44
maisumakun

総合スコア145184

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

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

teratail_begin

2019/11/09 11:52

はい、クラウドソーシングの利用も考えていますが、何にせよ自分が最低限の知識を持っていないと上手く発注も検収もできないと思いますので、とりあえず簡単なアプリくらいは作れるようになりたいと考えています。
guest

0

私自身、Androidとjavaの知識0から開始しているのですが、javaから始めた方が良いと考えます。
理由は分からないことがあって行き詰まったときにググって出てくる例題は圧倒的にjavaの方が多いです。
そこで都度Kotlinに置き換える知識も自分の場合はないので。。
teratailの質問数を見比べても圧倒的な差です。
また、javaは他でも使える場面は多々ありますし。
Kotlinは必要に迫れれてからで良いかな??と個人的には思ってます。

投稿2019/11/09 08:34

jun74

総合スコア338

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

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

teratail_begin

2019/11/09 09:16

なるほど! とても具体的で参考になるご意見ありがとうございます!
guest

0

高度なものは予定しておりません。

高度だろうとなかろうと、言語以前に作りたい物の草案は出来ていますか?
必要な技術は、考慮済みですか?
・・・それがあれば言語の選定は、あなたが一番分かるのでは?

言語だけでなく文化も学ぶ

投稿2019/11/09 07:01

cateye

総合スコア6851

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

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

teratail_begin

2019/11/09 08:05

草案だらけで、あとはこれをどうやって実現したらいいか悩んでいる段階です。 別にこれを仕事にしたいわけではないので、手っ取り早く実現できる方法を考えています。 「手っ取り早く」などと書くと説教したり怒り出したりする人が多そうだったので、そこまでは質問に書きませんでした。
cateye

2019/11/09 08:30 編集

〉どうやって実現したらいいか悩んでいる ・箇条書きでもいいから、必要な機能を書き出す ・その機能を実現しやすい言語を見つける Kotlinにしてもjavaにしても、基礎ぐらいしっかり抑えてほしいものです。 #Fortranでも"Hello World"出来るけど、いまどきそんな人はいないw
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問