※素人がわからないなりに調べながら進めている為えらい人達のご教授を求む
動的WEBプロジェクト作成から、今度はフレームワークで実装して見ようって事でPlayFrameworkである。とりあえずこれを使って作る前に動作させて見ようという所。
#【PlayFrameworkの特色について】
エンジニアをしていれば耳にするだろうRuby on RailsとDjangoから大きな影響を受けた、これらと似た同種のフレームワークである。wiki抜粋。
簡潔に述べると生産性の高いWEBフレームワークだ。ScalaとJavaで動作する。
ruby on railsは経験しておきたかったので類似フレームワークという事でspringより前に触って見る事に。
#【前提】
JDKの環境構築がされている事。
sbtの環境構築がされている事。
eclipseがインストールされている事。
※のちのちeclipseでガシガシ動かすつもりなので設定をば
#【やってみよう】
まずsbtってなんぞや、いきなり躓く(知識不足)
simple build toole の略らしい、でなんでsbtが必要なのかという理由はplayframeworkの動作に必要って事、じゃあ環境構築。
https://www.scala-sbt.org/download.html
上記よりsbtをダウンロード、今回私が選択したのは(sbt 0.13.17)zipでもmsiでも好きなのをどうぞ。msiだとNEXT連続でいける。ここで凄く時間使ったが重くてネットワークエラーとか起きてた。わからないとかじゃなくて通信的な問題、ふぁっきゅー!
インストール確認sbt aboutでバージョン情報がたたっと出てくる
※なぜかver1.1.1になってるけど気にしない・・・↓↓
コマンドプロンプトを立ち上げ
cd [プロジェクト作成したい場所]
↓
sbt new playframework/play-scala-seed.g8
※playframeworkでプロジェクト作成しますよって感じだと思ってる。
以下、プロジェクト名やバージョン指定がCUIに出てくるので指定する、指定しなければデフォルトになる。
name [play-scala-seed]:
organization [com.example]:
scalatestplusplay_version [3.1.0]:
play_version [2.6.1]:
で、指定した名前のプロジェクトがカレントディレクトリにいれば成功である、
作成されたプロジェクトにcdした後に以下を実行。
sbt run
初回のみプラグインの取り込みとかで結構がりがり動いてる、
(Server stated~って表示されている間に
http://localhost:9000/
にアクセス※この画面が表示されてる間サーバーが立ち上がってるので動作確認が出来る。
始めましてよろしくどうぞ。
無事それっぽく動作しているのは確認。
次にこのプロジェクトをIDEに取り込んで見るフェーズである、
intelliJの場合SBTをそのまま取り込めたりするらしいがeclipseはこのままではプロジェクトとして認識してくれない、くそう、まだ使ってるからeclipse淘汰は止めて欲しい。
①project/plugins.sbtに以下をaddする。
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "5.2.2")
②build.sbtに以下をaddする。
EclipseKeys.preTasks := Seq(compile in Compile)
EclipseKeys.projectFlavor := EclipseProjectFlavor.Java
EclipseKeys.createSrc := EclipseCreateSrc.ValueSet(EclipseCreateSrc.ManagedClasses, EclipseCreateSrc.ManagedResources)
③さきほど作成したプロジェクトで以下を入力。
sbt eclipse
メモ:sbt "eclipse with-source=true"
これで作成したプロジェクトがeclipseでプロジェクトとして認識してくれるようになる、ふぅ・・・
先人達の知恵をお借りしてここまで勧める事が出来た、ありがとうございます。
とりあえず今回はここまで、次は課題抽出
#【課題】
・playframeworkのサンプルプロジェクトでコンパイルエラー(with utf-8 エンコードエラーっぽいの)が発生する。
起動確認が出来たので、じゃあがしがし作っていこうと思った時にプロジェクト構成を把握仕切れていない為、サンプルでどんな依存関係が調べようとして発生した事故、動的webプロジェクトを始めて作ったときよりは見えるようになってはいるが確信に至っていない為。詳しい方は補足して欲しい・・・がとりあえず対策としてplayframeworkの参考書をamazonでぽちる、困っていても他人は助けてくれないものだ、本は裏切らない(バージョン以外)最近そんな考えになった。でさくさく進めるしね、自己投資は惜しまない。
・scalaのコーディングを行った事がない
上記の参考書でplayframework使う分には困らないと思うが、javaは書いてきたがscalaは触れてきてないので少し困る。今後伸びる可能性もあるし触れると嬉しいけどね。
#【次章について】
フレームワーク使ってブックマークレットを作るつもり、
小難しい感じにしたくないのでアカウント情報をキーにリンクを引っ張ってくる簡素なものにする。webアプリにアクセスすれば自分の使うブックマークが共有出来て当初の目的は果たせる為。広く浅く。
#【最後に】
結構雑な感じ(画像ほとんど使わず)に記事をまとめたが結構時間かかる、
書いてる時間がしがし作っていきたい気持ちも沸くが後で見る時わからなくなるのでバランスが難しいものである。今回やった感じだと確かに慣れたら数時間でアプリ出来るくらいの手ごたえはあった。