Web開発 2019-12-21

こんにちは、ケバブ人です。

私の業務の半分はWeb開発だと思うのですが、今までWeb開発はSESで用意されたフレームワーク・共通部品に対してのビジネスロジック組み込みしかしたことなかったのです。しかし今年、ちょっとしたWeb開発を自社でする機会があったので今まで脳内シミュレーションしていたことを色々実際に開発してみました。

business_shitauke



そしてどうせやるなら、と、古い開発しかしないSESでのSI案件ではなかなか経験できない、時流に合わせた開発を意識してやってみましたー。

ishiki_takai_man



SESではサーバーサイド言語はC#かJavaを使うことが多かったのですが、今回は初めてのPythonで。最初はこれまた初めてのサーバーサイドJavaScriptを考えていたので、JSもいずれ使ってみたいですね。

PythonのフレームワークはフルスタックのDjangoが一番シェアありそうでしたが、ちょっと勉強してみたけどWebの情報だけではやりたいことに対して情報の深さの乖離がすごくて辛そうだったので、深めの情報が豊富なflaskにしてみました。

情報量だけでいうとDjangoの方が多いのですが、凝ったことや応用なんかはflaskの方が情報が多かったのです。(まぁどちらにしろぐぐってみると外国語しか結果出ないこと多々なんですがw)

2019-12-09_18h32_47 vs logo-full



DBはNoSQL系に興味ありましたがまぁ用途的にRDBMSの方が適してたので今回は諦め。フロントエンドは理想はVue.js+WebPack+Sassだったのですが、ちょっと勉強する時間がとれなかったので、Vue.js+RequireJSにしてみました。(RequireJSは枯れすぎてて逆にめちゃ大変だったので、結果的にはWebPackにした方が良かったぽいです・・・)

また、理想はRESTのみで通信したかったですが、これまた整える時間が無かったので、HTMLのformを使いつつjsonのやりとりを並行して行うという方式にしてみました。

logo + 2019-12-09_18h37_58 + 2019-12-09_18h38_23




サーバー→(form用レスポンス+それをjsonに変換したもの)→html

「「formはflaskのテンプレートエンジン+vue.jsで構築」」

サーバー←     (formのsubmit)          ←html

こんな感じです。(これも逆に大変な面があったので、RESTのみにした方が結果的には早いしすっきりしてた可能性)

という感じで、色々妥協はしたものの、少しは最近の技術に追いつけたのではないかと思いますー。

もっというと環境はDockerで構築したかったのですが、以前ちょっと勉強した際にやはり細かいことをやろうとするとWebの情報では実現できなかったので、今回は諦めました。

2019-12-09_18h40_54



次開発する際は、WebPackとSassを使い、純粋にjsonだけでデータをやりとりして、Dockerで環境構築をしてみたいですね。
そこまでできれば、「Web開発できます」と胸を張って言えそうです。

・・・とりあえずあれですね、flaskはサードパーティ製の拡張機能を使って色々機能を追加していくんですが、作りが甘かったりして結構カスタマイズが必要でした。フルスタックのありがたみを感じました・・・。

ちょっとした単機能のAPIサービスを作るにはflaskはとてもいいような気はしますけどね。


以上、Web開発にようやく入門できたケバブ人でした。


ブログTOPへ戻る