ARX CHALLENGERS BLOG技術者ブログ

2023/09/15

【初心者向け】うっかりエンジニアの忘却メモ(Apache Wicket編)(第1回)

はじめに

こんにちは。
最近、覚えたことをすぐ忘れてしまう、むしろ思い出になる hidedxです。
若いころはメモなんて取らなくても、覚えていたのですけどね。
そこで、備忘録的に覚えたノウハウを記事にしていきたいなと思います。私のためでもありますが・・・
本記事が皆様のスキル習得、学習のお手助けになれば、これ幸いです。
第1回目としては、Apache Wicketについて紹介して行きたいと思います。

Apache Wicketとは?

Apache Wicket(アパッチ・ウィケット)は、Apacheソフトウェア財団のApache Wicketプロジェクトにて開発されているオープンソースのJava Webアプリケーションフレームワークである。

Webアプリケーションフレームワークで最も普及しているもののひとつはApache Struts(以下、Struts)であったが、StrutsはJavaで作られているにもかかわらず、Javaらしいオブジェクト指向開発を実現していない。Strutsはサーブレットを設定ファイルで制御することを目標とし、さまざまな要素を設定ファイルに記述することで、開発効率を上げようとしていた。

Wicketは、これとは逆の発想で、Javaのオブジェクト指向言語としての機能を最大限に活用できるように作られている。
Wicketから見た場合、ウェブページもオブジェクトであり、その上に置かれる文字列やタグなどもすべてオブジェクトとして取り扱う。そのため、Javaプログラムによってウェブページを継承したり、機能を委譲したり、独自に拡張することができる。
Wicketが利用する定義ファイルは、Java Servletの仕様で必要と定められているweb.xmlのみである。

画面定義やページ・テンプレートはHTMLファイル、またはXHTMLファイルで行う。Wicketが独自拡張したタグはHTMLタグの置き換えや処理を記述するのではなく、Wicketが解釈する範囲指定、意味づけになっている。また、HTMLタグに独自拡張した属性を必要に応じて記述する。このため、JSPファイルと異なり、通常のブラウザで表示させたりAdobe DreamweaverのようなWebオーサリングツールで表示、編集することが容易である。

(出典:https://ja.wikipedia.org/wiki/Apache_Wicket)

 

ちなみに2023年9月時点の、人気Javaフレームワークは以下の通りです。(※筆者調べ)

1位 Spring Framework 
  Springは2003年にリリースされたJavaでアプリケーションを開発するためのフレームワークです。
  Springの1つ目の特徴は依存性の注入(DI)です。
  DI(Dependency Injection)とは、オブジェクトの情報を外部に分けることで、コンポーネントの集合
 としてアプリケーションを組み立てるデザインパターンのことです。

2位 Play Framework 
 Play FrameworkはJavaとScalaを利用してつくられたフレームワークです。
 RubyのRuby on RailsやPythonのDjangoのようなMVCモデルを採用しています。
 Play Frameworkは、コンパイル時間が短く、高速にデプロイできる点が特徴です。

3位 Dropwizard 
 Dropwizardは米国のSNSであるyammerのWebサービス提供のために作られた、Javaフレームワーク
 です。サーブレットコンテナ「jetty」が組み込まれているため、tomcatなどのアプリケーションを準備する
 必要がありません。また、Dropwizardでは1つのJARファイルだけで動作可能です。

4位 Spark Framework 
 Spark FrameworkはRubyのフレームワークである、Sinatraに影響を受けています。シンプルで軽量なの
 が特徴です。Spark Frameworkは、Java 8のラムダ式を使うことで、簡単にプログラムを記述できます。
 軽量でスピーディーなWebアプリケーションの開発に適しており、小規模なプロジェクトや簡単な
 APIの構築に便利です。

5位 Apache Struts 
 Apache Strutsは、2001年頃より利用されているもっとも有名なJavaフレームワークとして知られており、
 MVCモデルを採用しています。
 しかし、脆弱性の問題が発生した2017年以降、別のJavaフレームワークへ移行する傾向にあります。

 

人気のあるフレームワーク利用した方がいいのでは?という皆さんの意見はよくわかりますが、
お客様ニーズで、実際に業務で利用したApache Wicketを本記事では紹介していきたいと思います。仕事というのは、お客様のニーズにできるだけ答えるのがプロなんです!

開発環境(IDE)選択

では、まずお使いのPC上に統合開発環境(IDE)を構築していきましょう。

IDEとは、ソフトウェア開発に必要なツールをまとめて提供してくれるソフトのことです。コードエディタやコンパイラ、リンカ、デバッガ、テストツール、バージョン管理ソフトなどで構成されます。
エンジニアとして、IDEを使いこなすことは必須ともいえるスキルなので、皆様も得意なIDEを作るようにしておきましょう!

Java開発で代表的なIDEとしては以下があります。

・Eclipse
 知名度が高く、多くのプロジェクトで利用されています。
 また、様々なプラグインが提供されており、単体テストや構文解析、リファクタリングなどが
 簡単にできるようになっています。
 迷ったら、とりあえずEclipseを採用すればOKです。
 デメリットとしては、高機能なだけに、大量にメモリを消費し、動作が重いです。

・IntelliJ IDEA
 IntelliJ IDEAは、チェコのJetBrains社が提供しているIDEです。
 コーディングサポート機能が強力(文字列リテラル内のSQL文が解析可能、コード補完時に機械学習
 を利用して関連性の高い候補を上部に表示する、など)
 デメリットとしては、Community版は無償ですが、機能が制限されています。

・NetBeans
 NetBeansは、オープンソースIDEです。
 画面作成を簡略化する機能(GUIエディタ)があるのが特徴です。
 eclipseより動作が軽いですが、プラグインの数は少ないです。

・Android Studio
 Android Studioは、IntelliJ IDEAをベースとした、Androidアプリの開発に特化したIDEです。
 JavaでAndroidアプリを開発したいなら、ほぼ一択です!

・Visual Studio Code
 Visual Studio Code(VSCode)は、IDEではなく、テキストエディタの1種です。
 マルチカーソルなど、エディタとしては抜群に高性能IDEより動作が軽いですが、
 Java開発環境のセッティングにやや手間がかかる高性能なIDEと比べると、できることは限らます。

さて、どれを選びましょうかね・・?
悩みますが、本記事では、PCが非力であることや、現場で最近よく使われるVisual Studio Code利用して
環境構築していきましょう!

Visual Studio Codeインストール

Visual Studio Codeをインストールいていきます。
スペックとしては最低以下があれば大丈夫そうです。
クロック周波数が1.6GHz以上のCPU、1GB以上のRAM

サクサク動かしたい方は、ハイスペックを用意してみてください。

1.  ダウンロード
  公式サイトから、環境に合わせたインストーラをダウンロードします。
  ※本記事ではwindows10にインストールしていきます。

  https://code.visualstudio.com/download

2. インストーラ実行
  ダウンロードしたインストーラを実行します。指示に従って進めていってください。
  完了すると、以下のような画面が起動します。
  ※ここでは詳細は割愛します。

3.  初期設定
  それでは初期設定していきましょう。ここでは最低限の設定だけ紹介します。

・日本語化
  拡張機能を開き、テキストボックスに 「japanese」と入力すると拡張機能のリストに
  「Japanese Language Pack for VS Code」が表示されるので、インストールします

インストール後、再起動ダイアログが表示されるので、再起動を行います。
再起動後、日本語化されています。

・配色テーマ 
  やっぱり見た目重要ですね。「ファイル」⇒「ユーザー設定」⇒「テーマ」⇒「配色テーマ」
  でお好きなテーマを適用しましょう!

・半角スペース表示
  デフォルトの表示では、半角スペースは次の画面のように、何も表示されません。
  開発の時は表示された方が便利ですよね!

 次の設定方法により、半角スペースを記号で表示できます。
 1.「ファイル」⇒「ユーザー設定」⇒「設定」を押下する。
 2. 検索窓で、「whitespace」と入力する。
 3. 設定値を「selection」から「all」へ変更する。

4.  おすすめ拡張機能
  ここではおすすめの拡張機能紹介しておきますので、各自導入を検討してみてください。

・Code Spell Checker
 変数名やメソッド名などのスペル誤りをチェックしてくれます。

・Indent-Rainbow  
 インデントの深さ・ネスト構造が色分けで表示されます。

Java環境設定

Visual Studio Code上にJava環境設定を行っていきましょう。

1. JDKインストール
    JDK(Java SE Development Kit)のインストールを行います。
    https://www.oracle.com/java/technologies/downloads/からダウンロードしてきます。
    表示された画面で、以下のように「Windows」タブを選択し、「x64 Installer」にあるJDKのexeファイル
    リンクをクリックし、ダウンロードを開始します。

    ダウンロードが完了したら、ダウンロードしたファイルを実行し、指示にしたがってインストール を
    実行します。

2. Java Extension Pack インストール
    拡張機能を開き、テキストボックスに 「java」と入力すると拡張機能のリストに 「Java Extension Pack」
    が表示されるので、インストールを行います。

3. 動作確認
 2完了後、「Create Java Project」⇒「No build tools」を選択して、プロジェクトを作成してください。

ここではTESTプロジェクトを作成しました。以下の自動でソースが作られます。

では、App.Javaの中身をみてみましょう。 「Hello World!」が表示されるプログラムが自動生成されていますね。

「実行」⇒「デバッグなしで実行」を選択してみます。

そうするとターミナルが開いて、無事に「Hello World!」が表示されたらOKです

Wicket環境設定?

 では、Wicketの環境設定をやっていきたいと思います。参考に公式サイトを確認してみますかね。うん?
 https://wicket.apache.org/contribute/ides.html

翻訳してみると、

おっと、Visual Studio Codeがサポートに入ってないですね。
ここまできて、IDEを変えるか、 このまま突き進むか、悩みどころですね。さて、どうしたものか・・・

あとがき

衝撃的な事実が発覚しましたね。確認せずに流行に乗った筆者の責任ですね。
さて、今回はここまで。次回、果たして無事環境構築できて、開発をすすめることができるのか
お楽しみにしてください。
※なお、本記事の手順通り構築できない場合があるかもしれませんが、ご了承ください。

 

hidedx

    お問い合わせ

    弊社へのお問い合わせは、下記お問い合わせフォームより受け付けております。
    各項目をご入力の上ご送信ください。
    内容確認後、折り返し、弊社担当よりご連絡さしあげます。

    必須 の項目は必ずご入力ください。

    お問い合わせ種別必須

    貴社名・学校名

    例)株式会社アイレックス

    お名前必須

    姓  名 

    PCメールアドレス必須

    ※ 半角英数で入力してください 例)info@example.jp

    ※ 確認のため再入力してください

    電話番号必須

    - -

    お問い合わせ内容必須

    どちらで弊社(弊社サービス)の事をご覧頂きましたか?必須

    ※ その他を選択された方はその内容をご入力ください

    個人情報保護方針をお読みいただき、同意の上お問い合わせいただきますようお願い申し上げます。