読者です 読者をやめる 読者になる 読者になる

python,javascriptのコーディング環境・実装手段について検討する

開発環境 雑記

自分用のTODOウェブアプリを作るにあたって、どの言語を使うか検討した。
趣味のプログラミングであるし、新しいもの、触った事が無い技術を積極的に採用していこうと考えた。

giraffydev.hatenablog.com

過去記事では、virtualbox,ubuntu serverと使用経験が無いものを採用し、次はアプリを構築する言語ほかを検討した。perl, php, rubyあたりは触ったことがあるので、javaかpythonかな、と考えpythonにした。JavaをWeb用に趣味で触る必要はあるまい。

というわけで、pythonの開発環境について検討していった話。

pythonのwebフレームワークなどweb開発トレンドを調べる

個人プロジェクトなので、とにかく楽がしたいな、と考えた。この段階でpythonの知識は
Python - Wikipedia を流し読みした程度だ。Webフレームワークについては、
2014年 Webアプリケーションフレームワークトレンド(PHP / Java / Ruby / Python / Perl) - Qiita を参考にpythonの項目を調べるとDjangoがrubyでいうところのrailsっぽい立ち位置のようなので、それを採用する事にした。

…次はJavascriptはどうするかなー。最近Javascriptにもフレームワークがあるらしいなあ、と考えながら少し調べて驚愕する。

最近はフロントエンドで実装しまくるのがトレンドになりつつあるらしい

人気上昇中のJavaScriptライブラリを調べてみた【2015年版】 - Build InsiderのページでjavascriptでMVCフレームワークがあり、それが人気だという事がわかった。…サーバーサイドもMVCフレームワークでフロントエンドもMVC???

ここからどういう実装が自然か考える。javascriptでフロントエンドをリッチにしたい。つまりネイティブアプリのような動作をイメージする。そうなるとページ移動が不要になり、サーバーサイドの実装はごくごくシンプルになる。サーバーサイドで実装すべきはCRUDだけ、つまりRESTのようなイメージになるんだろう。

todomvc.com

サンプルアプリをいろんなJavascript Frameworkで実装したサイトを見ると、やはりそういう事らしい。

今回のウェブアプリは、スマホ版も考えているし、リッチに見せる事に意義があるのでJavasciptフレームワークは積極的に採用したい。

でpythonのREST実装フレームワークを探すと
Django REST framework というものが出てくる。

ちょっと勉強する事が多いが、サーバーサイドはとりあえずこれでいこう。フロントエンドの候補は…
【AngularJS vs React.js】どっちがどう使える?JavaScriptフレームワークの最新事情 #html5j|CodeIQ MAGAZINE ここのプレゼンを信用してreact.jsを採用する。ここまで初めてだらけなので、ここで学習コストを少し小さくしておきたい。

というわけで React.js + Django-REST-FrameWork(Python) に決定。全て未経験。

サーバーはApache + MySQLと経験済のものを採用する。

IDE、エディタなどのコーディング環境を検討する

OSXでPythonとJavascriptが良く書けれるエディタとは何か調べた。

スキルが低いので、環境にはあまりこだわらないたちだ。Eclipseみたいにクソ重いのも一応我慢できるし、CUI操作もやれるけど出来たらどちらも避けたい。Vimはキーバインドがどうしても馴染めないし覚えたくない。朝から晩までvimの中で生きていける職業ならともかく、ドキュメントワークも画像加工もする人間としては、やっぱりマウスで操作できるものがしっくりくる。

というわけで、VimとEclipseを除外して残り候補は3つ

IDEとエディタが混じっているが、IDEのデバッガがあまり好きでは無いので気にしない。嫌いな理由はコーディング環境と稼働するサーバーの環境が異なるためにデバッガの出力が異なってうっとおしいからなんだけど、たぶん使いこなせてないだけだと思う。稼働環境と開発環境(今回の場合はvirtualbox上のubuntu)を出来るだけ近づけて、そこで頻繁に動作チェックする方が上手く行くことが多い。それとしっかりテストを書く。

ここからどうしたものかと考えて英語圏の口コミを見ると

  • JetBrains系のIDEは抜群に評判が良い
  • sublime textは玄人っぽい人が押してる
  • bracketsも押す人多め。無料なのが強い

そう、brackets以外有料だった。試用期間があるとはいえ、未知の実装環境にお金を払うのは避けたい。
brackets一択になるわけだけど、bracketsはadobeの支援を受けて開発されている。adobeはソフトが一定水準に達すると有料化するのが今までのならわしだ。ちょっと困った。

もう少し情報をあたると Microsoft、Visual Studio Codeをリリース―OS X、Linux、Windowsで動作する無料の軽量コードエディタ | TechCrunch Japan という話題にあたった。

宗教上の制限が私にはないので、多いに検討の価値がある。microsoftは開発環境の無料化を昨今推し進めているし。
Build 2015: Visual Studio Code - YouTube

おおお! これ良くないですか?

というわけで、 https://code.visualstudio.com/ よりVisual Studio Codeを導入するのであった。まだ実装を初めて無いが、非常に軽いのがよろしい。