Webアプリを開発するためのプログラミング言語について質問があります。
私は、Pythonによる機械学習をメインに開発してきた大学生です。
そこで、開発したプログラム(の出力)を利用したWebアプリを開発しようと考えています。画像を渡して、処理した画像を返すって感じです。
はじめは、Pythonで開発してきたため、WebアプリもDjangoやFlaskを使って開発しようかと考えました。
しかし、情報がほかの言語、フレームワークに比べて極端に少なくことや利用している(求人を出している)会社の少なさを感じ、別途、新しい言語を学ぼうかとも考えています。
このまま、Pythonに開発すべきでしょうか?それとも別の言語を学ぶべきでしょうか?学ぶとしたら、どの言語がいいでしょうか?また、おすすめのフレームワークははなんですか?
そこまで大規模なアプリではないです。シングルページでも収まるくらいです。
Python、Ruby、PHP、javascriptが今のところの候補です。
回答よろしくお願いします。
追記
たくさんの回答ありがとうございました。とりあえず、Pythonにて開発し、別途JavaScriptを勉強しようと思います。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答7件
0
やりたいことから考えると、どんな言語を使うにせよ、Web アプリから Python のプログラムを呼び出して処理をさせて、その結果をもらって結果を返す、ということになりますよね。
それを考えると、Web アプリも Python で作るのがもっとも面倒が少なくなるかと思います。
これが例えば PHP だと、「PHP から Python のプログラムを呼び出して、結果が返ってくるのを待機する」とか面倒が増えるので。
※まあフロントエンド(UI担当)とバックエンド(コア処理担当)と考えればある意味よくある作りではあるのですが
むろん、懸念されているように Web アプリを作ると言うだけなら Python という選択肢は狭いので、PHP や Ruby をというのも正しい考え方です。ですが、まず Python で作ってから、フロントエンドだけ別言語に移植し直す、というのもありでしょう。
まだまだ勉強の段階ですから、いろいろ試してみるのもよいかと思いますよ。
投稿2018/07/10 02:17
総合スコア13703
0
ベストアンサー
今後、「登録してくれた特定の方」にしかデータを公開しないとか、ログインしないとデータを見せないとか、新しいデータ発表に合わせて登録者にメールを発信したいとか、新着情報を掲示したいとか、というような形に発展するようであれば、PHP(HTML・CSS・Javascript)+MySQLなどのDB操作・サーバサイド操作も必要になってくるかも、と思います。
こうしたサーバサイドをいじることになると、必然的にLinuxとか、Apacheとか、NodeJSとか、触れて行くことになるので、知っておいて損はないです。
ま、今の時代はこういう操作もボタンポチポチで何とか構築出来、CMS関連もいろいろ存在する状況ですが、まずはフレームワーク無しで挑戦してみるのも面白いかもしれません。
Macをお持ちなら、こうした環境は割と簡単に可能と思います。
あくまでも私の個人的な感想で、異論反論はあると思うのですが、難易度としては
Javascript > PHP > Ruby > Python
となるんじゃなかろうか、と思っています。^^;。もちろんPythonを学んだ経験があれば、構文的にも他の言語に応用は全然可能と思います。
投稿2018/07/10 05:07
総合スコア368
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/10 12:51
2018/07/10 12:57
0
フロントエンドでjavascriptは避けて通れないので、少しはできるようになっておくと幅が広がって良いと思います。私は最近HTML5/CSS/javascript(Bootstrap)を少しかじりました。
投稿2018/07/10 01:48
総合スコア6142
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/07/10 12:51
2018/07/10 13:46
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総合スコア30933
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
学ばれる目的によって回答が異なります。
将来、就職あるいは独立を考えての学習ということでしたら、その会社が求めている言語知識がある方が多少は有利かもしれません。
純粋にWebアプリが作りたいだけであれば、言語知識があるPythonを利用するほうが効率は良いと思います。
情報量は差があるかもしれませんが、機械学習以外にもGoogleを筆頭にPythonでWebサービスを行っている企業はたくさんあります。
シングルページで収まると言われている点を考えるとフレームワークなしあるいはシンプルなフレームワークでまずは作ってみてはいかがでしょうか。
小規模なプロジェクトにフレームワークを導入すると、逆にフレームワークの学習コストのほうが上回る可能性もあります。
参考になれば、幸いです。
投稿2018/07/10 01:21
総合スコア1336
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/07/10 12:52
2018/07/11 00:52
0
Pythonをやっていたのであれば、まずは、バックエンドにPythonを利用するのが良いのではないでしょうか?
ただ、djangoなどのフレームワークを利用するにしても、表示部分(フロントエンド)にHTMLやJavaScriptの知識は必要になります。
私自身は、しばらくdjangoを使っていますが、操作性などを重視するとフロントエンドに力をかける必要があり、djangoであるメリットはあまり感じません。テンプレートの中身をごにょごにょ書くことになりますので。
そんなこともあり、最近フロントエンド側として、Reactを始めました。
なかなか、面白いです。React。
結果を出すことを考えると、学習コストなどの効率も大事ですが、
ある程度余裕があるのならば、面白そうだと思うものに、まずは手を出してみてはいかがでしょうか?
投稿2018/07/12 05:07
総合スコア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総合スコア580
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/07/10 12:44
2018/07/10 23:44