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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

7回答

4134閲覧

Webアプリ開発のためのプログラミング言語について

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

3クリップ

投稿2018/07/10 01:10

編集2018/07/12 06:29

Webアプリを開発するためのプログラミング言語について質問があります。

私は、Pythonによる機械学習をメインに開発してきた大学生です。

そこで、開発したプログラム(の出力)を利用したWebアプリを開発しようと考えています。画像を渡して、処理した画像を返すって感じです。

はじめは、Pythonで開発してきたため、WebアプリもDjangoやFlaskを使って開発しようかと考えました。

しかし、情報がほかの言語、フレームワークに比べて極端に少なくことや利用している(求人を出している)会社の少なさを感じ、別途、新しい言語を学ぼうかとも考えています。

このまま、Pythonに開発すべきでしょうか?それとも別の言語を学ぶべきでしょうか?学ぶとしたら、どの言語がいいでしょうか?また、おすすめのフレームワークははなんですか?

そこまで大規模なアプリではないです。シングルページでも収まるくらいです。

Python、Ruby、PHP、javascriptが今のところの候補です。

回答よろしくお願いします。

追記

たくさんの回答ありがとうございました。とりあえず、Pythonにて開発し、別途JavaScriptを勉強しようと思います。

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

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

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

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

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

guest

回答7

0

やりたいことから考えると、どんな言語を使うにせよ、Web アプリから Python のプログラムを呼び出して処理をさせて、その結果をもらって結果を返す、ということになりますよね。

それを考えると、Web アプリも Python で作るのがもっとも面倒が少なくなるかと思います。
これが例えば PHP だと、「PHP から Python のプログラムを呼び出して、結果が返ってくるのを待機する」とか面倒が増えるので。
※まあフロントエンド(UI担当)とバックエンド(コア処理担当)と考えればある意味よくある作りではあるのですが

むろん、懸念されているように Web アプリを作ると言うだけなら Python という選択肢は狭いので、PHP や Ruby をというのも正しい考え方です。ですが、まず Python で作ってから、フロントエンドだけ別言語に移植し直す、というのもありでしょう。
まだまだ勉強の段階ですから、いろいろ試してみるのもよいかと思いますよ。

投稿2018/07/10 02:17

tacsheaven

総合スコア13703

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

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

退会済みユーザー

退会済みユーザー

2018/07/10 12:44

なるべく、Python以外を使おうと考えているのですが、Pythonのプログラムを呼び出すことが難しい言語はありますか?
tacsheaven

2018/07/10 23:44

JavaScript だと難しいですね。というのも、JavaScript は node.js を使ってサーバーサイドで動かさない限りクライアント側で動いてしまうので、サーバー側のプログラムを呼び出す形にはならないからです。 ※サーバー側で REST API を用意しておいてそれを叩く、なら簡単ですが PHP や Ruby ではそれほど面倒にはなりませんが、基本的な条件として、「Python で作られたプログラムは、コマンドラインから呼び出して動作させられるものである」必要が出てきます。
guest

0

ベストアンサー

今後、「登録してくれた特定の方」にしかデータを公開しないとか、ログインしないとデータを見せないとか、新しいデータ発表に合わせて登録者にメールを発信したいとか、新着情報を掲示したいとか、というような形に発展するようであれば、PHP(HTML・CSS・Javascript)+MySQLなどのDB操作・サーバサイド操作も必要になってくるかも、と思います。

こうしたサーバサイドをいじることになると、必然的にLinuxとか、Apacheとか、NodeJSとか、触れて行くことになるので、知っておいて損はないです。

ま、今の時代はこういう操作もボタンポチポチで何とか構築出来、CMS関連もいろいろ存在する状況ですが、まずはフレームワーク無しで挑戦してみるのも面白いかもしれません。

Macをお持ちなら、こうした環境は割と簡単に可能と思います。

あくまでも私の個人的な感想で、異論反論はあると思うのですが、難易度としては
Javascript > PHP > Ruby > Python
となるんじゃなかろうか、と思っています。^^;。もちろんPythonを学んだ経験があれば、構文的にも他の言語に応用は全然可能と思います。

投稿2018/07/10 05:07

SaintKnowledge

総合スコア368

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

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

退会済みユーザー

退会済みユーザー

2018/07/10 12:43

Javascript の方が難しく、Pythonの方が簡単だということでしょうか?なぜ、そう思うのか教えてください。
SaintKnowledge

2018/07/10 12:51

個人的な感想なので。。 難しい、簡単、ということではないです。 Javascriptは、ブラウザによる差異があり(IEでヘコむが多い・・。)、またサーバ上でも動かせます。Javascriptは書き方が多岐に渡り、活動の場が広い、他人のコードを拝借してもそのままで動かない場合が多い、という意味で難易度が高い、という感想です。
SaintKnowledge

2018/07/10 12:57

ただ、Javascriptが他の言語と比べて優位だと思うのは、他の言語に比べて面倒な開発環境やフレームワークが要らない、つまりブラウザとメモ帳があればどこでも作れる、という点だと思っています。
guest

0

フロントエンドでjavascriptは避けて通れないので、少しはできるようになっておくと幅が広がって良いと思います。私は最近HTML5/CSS/javascript(Bootstrap)を少しかじりました。

投稿2018/07/10 01:48

YouheiSakurai

総合スコア6142

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

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

退会済みユーザー

退会済みユーザー

2018/07/10 12:51

フレームワークはどう選んだら良いでしょうか?
YouheiSakurai

2018/07/10 13:46

流行りと使ってみた所感だと思います。まずはかじってみて良い感じだと感じたらそれで。そうじゃなければ乗り換えで、という感じです。
guest

0

情報がほかの言語、フレームワークに比べて極端に少なく

こっちは、英語圏ならいくらでも情報が転がっているので、とりあえずなんとかなると言えます(中学生程度には英語が読めて、google翻訳を使いこなせれば)

利用している(求人を出している)会社の少なさを感じ

こっちを重視するなら、確かにPHPとjavascriptでしょう(Rubyは正直微妙・・・というか最近は廃れ気味なのでは? それでも、Webではまだpythonより使われているようですが。googleトレンドで見ると、世界的にはそろそろ逆転する気がする)。


選択肢は、以下の3つから選びましょうか。

  • フレームワークなしで作る。言語はなんでもいい

シングルページで高等な機能一切なし、なら十分いけると思います。それこそPHPベタ書きとかで良いと思うので。

  • pythonでflaskとかdjangoとか使って書く

pythonの分の学習コストが差っ引けますが、フレームワークの方でそれなりに学習コストがかかるでしょう。

  • PHPとかNode.jsのフレームワークで行く

新しい知識が得られるので楽しい、と思えるならありです。

アプリケーションの規模が小さいと、どれを選んだところで、得られるもの・コストともにそれほど変わらないような気がします。

好き嫌いとか気分で選んでも、そんなに後悔しないと思うので、正直どれでも良いのでは?

投稿2018/07/10 13:09

編集2018/07/10 14:27
hayataka2049

総合スコア30933

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

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

0

学ばれる目的によって回答が異なります。
将来、就職あるいは独立を考えての学習ということでしたら、その会社が求めている言語知識がある方が多少は有利かもしれません。
純粋にWebアプリが作りたいだけであれば、言語知識があるPythonを利用するほうが効率は良いと思います。
情報量は差があるかもしれませんが、機械学習以外にもGoogleを筆頭にPythonでWebサービスを行っている企業はたくさんあります。

シングルページで収まると言われている点を考えるとフレームワークなしあるいはシンプルなフレームワークでまずは作ってみてはいかがでしょうか。
小規模なプロジェクトにフレームワークを導入すると、逆にフレームワークの学習コストのほうが上回る可能性もあります。

参考になれば、幸いです。

投稿2018/07/10 01:21

YasuhiroMiyake

総合スコア1336

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

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

退会済みユーザー

退会済みユーザー

2018/07/10 12:52

学習コストの低いフレームワークには何がありますか?
YasuhiroMiyake

2018/07/11 00:52

まずはどれでも良いので使用してみてはいかがでしょうか。 ご本人の基準がないと高いも低いもないと思うので。
guest

0

Pythonをやっていたのであれば、まずは、バックエンドにPythonを利用するのが良いのではないでしょうか?

ただ、djangoなどのフレームワークを利用するにしても、表示部分(フロントエンド)にHTMLやJavaScriptの知識は必要になります。

私自身は、しばらくdjangoを使っていますが、操作性などを重視するとフロントエンドに力をかける必要があり、djangoであるメリットはあまり感じません。テンプレートの中身をごにょごにょ書くことになりますので。

そんなこともあり、最近フロントエンド側として、Reactを始めました。
なかなか、面白いです。React。

結果を出すことを考えると、学習コストなどの効率も大事ですが、
ある程度余裕があるのならば、面白そうだと思うものに、まずは手を出してみてはいかがでしょうか?

投稿2018/07/12 05:07

Meganezaru

総合スコア715

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

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

0

就職を考慮したいのか、単に学習コストで損をしたくないだけなのかが判然としませんが、どちらでしょうか。

母数だけで言えばPHPが一番多いのは間違いないかと思います。
https://trends.google.co.jp/trends/explore?cat=422&geo=JP&q=%2Fm%2F060kv,%2Fm%2F06ff5,%2Fm%2F05z1_,%2Fm%2F0bbxf89

PHPのフレームワークはLaravel,CakePHP,Symfonyなどがありますが、トレンドはLaravelになるかと思います。
https://trends.google.co.jp/trends/explore?geo=JP&q=%2Fm%2F0jwy148,%2Fm%2F09t3sp,%2Fm%2F09cjcl,%2Fm%2F0j3cj1y,%2Fm%2F02qgdkj

Ruby は Web 開発での採用数は増えてきた印象ですが、学習コストがやや高いような気がします。
また、日本以外の国ではやや知名度が落ちるかもしれません。
https://trends.google.co.jp/trends/explore?cat=422&q=%2Fm%2F060kv,%2Fm%2F06ff5,%2Fm%2F05z1_,%2Fm%2F0bbxf89

Python は例えばフランスではPHPと同じくらい知名度があるようですね。
https://trends.google.co.jp/trends/explore?cat=422&geo=FR&q=%2Fm%2F060kv,%2Fm%2F06ff5,%2Fm%2F05z1_,%2Fm%2F0bbxf89

ネイティブアプリもイメージしているなら Electron、React Native、Cordova なども考えてよいでしょう。

結局の所、何を作りたいのか、今後どうしたいのか、で大きく方向性が異なるので、質問文あるいは各回答欄でもう少し詳細に希望を表明してみてはどうでしょうか。

投稿2018/07/10 21:10

編集2018/07/10 21:15
bezeklik

総合スコア580

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問