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

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

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

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

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

Android

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

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

3回答

990閲覧

Androidアプリのサーバーサイドでjavaを使うのと、pythonを使うのはどちらがオススメですか?

giant

総合スコア132

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

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

Android

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

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

1クリップ

投稿2017/11/05 06:08

すでに、servletとjspは使ってたことがあるのですが、pythonをオススメされて迷っています。

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

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

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

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

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

guest

回答3

0

ベストアンサー

すいませんが,あえて悩ませる回答を,選択肢を追加します(客観的に見ても,それだけの価値がある提案と考えます).
javaでもpythonでもなく,Firebaseを推します(言語ではなくサービス).

やや独特まだ日本語情報も少ないですが,今伸び盛りなサーバレス(本当の意味での)です.
ユーザ側から直接データベースにアクセスします.
(mBaaSという言い方が一番正確,現状競合が小さくほぼ一強状態)

開発のスピードが速い
サーバ管理不要
保守すべきソースコードやシステムがシンプルになりやすい,
大きめな無料枠
しかもエラー分析やA/Bテストなど,簡単で便利なツールもたくさんあります.
iOSやwebへの展開も容易です.

学生さんであれば尚更勧めます.
今後の主流になってもおかしくないです.

投稿2017/11/09 07:28

編集2017/11/09 07:30
Yatima

総合スコア1159

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

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

giant

2017/11/09 07:31

ありがとうございます。今ちょうど開発しているサービスでちょうどFirebaseを使っていました。数十万人が使用するサーバにはpythonやjavaが必要かと思っていたのですが、どうでしょうか? 今Firebaseを使ってみて思ったことは、様々な機能が盛り込まれていてとても便利で簡単だということです。さらに無料な点はとてもよかったなと考えています。
Yatima

2017/11/09 07:38

ああ,それは失礼しました.さすが,優秀な学生さんです. 従来では,realtime databaseが高価であるため,またやや落ちやすい部分もあるため,一般的なサーバへの移行もあり得たと思います. しかし最近Firestoreという,非常に安くて非常に落ちにくいデータベースが公開されましたので,Firebase外への移行のメリットはとても弱まっていると思います.
giant

2017/11/09 07:44

そうなのですね。firebaseがこれから来そうという理由がよくわかりました。 本当に主流になってもおかしくない理由があったのですね。 とても勉強になりました。
Yatima

2017/11/09 07:52

こんなところでなんですが、ユーザーグループが立ち上がりそうなところなので、よろしければぜひ。 https://firebase-community.connpass.com/ ちなみにtatatatataさんは、どういった意味で「大規模では自前サーバが必要になるのでは」と思ったのですか?
giant

2017/11/09 08:03

ユーザーグループの参加させていただきます。 自分が自前サーバーが必要だと思った理由なのですが、直接的な理由ではないのですがSNSを作りたいという目標にサーバーの知識が必要だと思い、勉強しようと考えていました。firebaseなどのサービスには流行りが影響するという点と、pythonなどのスクリプト言語でサクサクサーバー構築をできたらいいなと考えていました。ubuntuへの憧れもあります。
Yatima

2017/11/09 08:10

ご参加ありがとうございます! なるほどなるほど. 流行りというのはあるかもしれませんね.Firebaseはインフラ的なので廃れにくいほうだとは思いますが. Ubuntuに憧れるのもいいですね.いいモチベーションになると思います. 一つだけ,SNSを作るのにサーバの知識が必要,というのは具体的にどういう意図でしょう?
giant

2017/11/09 08:17

返信をいただきましてありがとうございます。 知識不足の上での考えですので、ご期待に沿ったことは言えないと思いますが、大量のデータや画像をしっかりしたセキュリティの中で安全に保管する必要があるというのが前提の考えで、それを保管するのに、早い、安い、手軽、などと言われる様々なサービスを使用するのは適していないのではと、素人目線で考えていました。多分この考えは誤解でこれから色々と調べる必要はあると思うのですが、バイト先の会社でもサーバーを使う機会が出て来そうで、その都度見合ったサービスを探すというよりは、pythonでサーバーを運用できるぐらいの能力は持っていても悪くないと思いこのようなことを考えていました。
Yatima

2017/11/09 08:42 編集

説明ありがとうございます. いえいえ,むしろこちらとしても予想外の答えが返ってきたほうが思考の体操になりますので. 一応Firebaseに関して答えておくと,早い/手軽に関してはセキュリティの高低そのものと直結しない部分です(開発者視点で手軽になるだけで,ユーザ認証が手軽になるわけではない).安さはひとえにGoogleの凄まじい研究開発の賜物ですね. バックエンドがGoogleというのもあって,むしろよりセキュアなサービスを探すほうが難しいかもしれません. もちろん一般のサーバを扱えるのも大切なことです.自分の使いたい技術が使えることはむしろ一般にはあまりないですし. もし押し付けられている・説得されているように感じられたならすみませんでした.
giant

2017/11/09 08:59

お付き合いいただきましてありがとうございます。サーバーサイドという未知の領域に興味を持っていて、実際には現在公開されているサービスで代用可能、かつ便利なものの使用を後回しにしようとしてた点がありました。ビジネスに結びつけようとするならば開発コストも考え、勉強がしたいのか、ビジネスがしたいのかを考えて選択をしていきます。気持ちに振り回されていた考え方がYatimaさんのおかげで、クリアになりました。ありがとございました。 どちらもやっていきます!!
Yatima

2017/11/09 09:15

おお,ビジネスも考えられているのですね. どちらもやるとのこと,いちCTOはしくれとして応援しております.
giant

2017/11/09 09:22

ありがとうございます。SNSをなんこもリリースして、挑戦をしたいと思ってます。そのためにはフルスタックである必要があるので、UI/UXも、そしてswiftも頑張ります。ありがとうございました。
guest

0

私個人の考えですが参考までに。

私はサーバサイドにServletを使うのはあまりやりたくありません。なぜならPythonやPHPといったスクリプト言語は「アップロードするだけで動くから」です。Servletはまずビルドすることから始まり、warファイルに変換後アップロード、サーバ上でServletにデプロイ、という流れが発生します。例えばそこそこ大きなアプリになると、javaのファイル1行変更するだけで済む修正の確認に一連の作業で3分から5分取られるのが苦で仕方ありません。Web系の開発は修正作業が多く、とくにこのビルドの流れの遅さは足かせとなります。スクリプト言語であれば、修正したファイルだけをアップロードすればそれで反映されるので、確認もすぐ済みます。

もしあなたがスクリプト言語を触ったことがないのであれば、新しいプロジェクトを始めるにあたり、それらの言語に挑戦してみるのもよいかと思います。私も根っからのJavaユーザでしたが、PHPやPythonに触れることで新しい世界が見えました。

もちろんあなたの「いままでのJavaの経験が活かせる」というのも強い利点です。下手に他言語を始めると納期やクオリティといった問題にぶち当たるので、無責任に「絶対Pythonがいい」とおすすめすることはできません。そのおすすめした人が「俺はServletもPythonも経験したが、Servletはクソだ。早く乗り換えたほうがいい」と力説しているのであれば聞く価値はあるかもしれません。

投稿2017/11/06 01:13

masaya_ohashi

総合スコア9206

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

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

giant

2017/11/06 01:36

詳細まで説明してもらってありがとうございます。両者にはスクリプト言語であるかないか。という違いがあるのですね。まだ学生でこれからどんどん勉強をしていく状態なので、納期やクオリティの問題を考えなくていいので、スクリプト言語を使用していこうと思います。ありがとうございました。
masaya_ohashi

2017/11/06 01:41

おお、学生さんだったのですね。ある程度Javaに自信があるのでしたら、学生さんであればぜひ別言語にもチャレンジすべきです。頭が柔らかいうちに幅広い言語を触ることで、より一層プログラミングの本質を知ることができます。あの言語ではこういう実装が一般的であった、ではこの言語で同じことをしようとすればよりよいものができるのでは?という相乗効果も生まれます。当時のC++とJavaだけしか知らなかった私は、間違いなく他言語を学んだころから成長曲線が伸びました。頑張って挑戦してみてください。
giant

2017/11/06 01:44

ありがとうございます。今後UI/UXやサーバーサイドもいじれるエンジニアになりたいと思っているので、どんどんpythonを勉強していきます。このような場所でこんなに親切にアドバイスをいただきありがとうございます。とても感謝しています。 pythonを勉強してエンジニアとして成長できるように頑張ります。ありがとうございました。
guest

0

正直、どちらでも良いという回答になりますが、

すでに、servletとjspは使ってたことがある

とのことでJavaをオススメ致します。
言語の選定基準は、実務においても経験者がいるかどうかというところが重要視されます。

pythonをオススメされ

その根拠をオススメした人に聞いてください。
その人が実際に比較検討(JavaとPythonで同じものを作ってベンチマークを比較等)した結果であなたにPythonをオススメしていて、あなたがその理由に納得できるのであればPythonを選択すれば良いでしょう。
もし、そうでないのであれば、あなたが実際に経験されているJavaを選択すれば良いでしょう。

投稿2017/11/05 08:09

xenbeat

総合スコア4258

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

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

giant

2017/11/05 11:22

ありがとうございます。なぜPythonをオススメしてくれたのか聞いてみます。 すでにjspとservletは経験している。ということがやはり重要なのですね。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問