なんと1年も記事を書いていなかったということに今日気がつきました(汗;

最近、とある企業内に常駐気味ではありますが、
主にやっている内容で、私的にとても面白い仕事なので紹介します。

メイン業務で、Atlassian Confluence の Add-on を作っています。
機能的には概要しか書けませんが、
そのメイン部分では、ExtJS 6 を使ってツール作成をしています。

設計上は機能テンコ盛り仕様ですが、メイン機能は完成しているので
昨年末くらいから運用を開始してもらっています。
(とある企業内なので外部にリリースしているわけでは有りません)
そうしますと、追加機能要望など、どんどん出てきちゃう訳ですね。
私自身もこうしたら良いと途中で気が付くと、矛盾がない限り機能追加をしてしまったりします。これがしやすいのが、ExtJS の魅力かもしれないです。

テクニカル的には、
Add-on を Java で構築し、
そのリソースに、ExtJS 6 のコンポーネントを含めています。

Java と言っても、Atlassian SDK が基本となっているため、SDKをどう利用するか、どうブロックを組み立てるか、を考えます。

このAtlassian SDKがまた良く出来ているんですね。
Active Objects (略して AO)という ORマッピングが手軽にできる Databaseが用意されていますので、これがまた本当に良い感じ。

メインツールが、ExtJS なのは、私の勝手な’推し’が導入の決め手にはなったのですが、今でもその事は正解だったと思います。
何しろ、本当にやりたいこと、実現したい機能が作成しやすい。
今や、JavaScript 無しではブラウザベースのアプリケーションの運用なんて出来ない時代になっています。JavaScript無効化、なんてことをことをしたら現代のコンテツは何も見えなくなっちゃいますね(笑)

Atlassian のプロダクトはI/Fが実によく練られています。
このフレームワークは、AUI というデザインパターンにより構築されているのですが、同社プロダクト間で共通なI/Fでとても綺麗です。なので JIRA, Confluence, 等どのプロダクトも同じような操作感が得られています。
内部的には、AJSというJavaScriptフレームワークがあり、このAJSを勉強していくと、AtlassianプロダクトのI/Fが効率的に設計されていることが分かってきます。

上記とは別業務ではありますが、
同時に、JIRA の Add-on の構築も行っています。
JIRA Add-on についてはまたの機会に。

大変なのは、数日経過すると何をやっていたのか、コードを追っても思い出すまで時間がかかるようになってきたかな、というところでしょうか。
年齢には勝てませんね(笑)
あとは、Java <-> JavaScript を交互に見ていると、Javaのキャストを忘れたり、弊害は出てきたりします。
ただ、言い訳ですが、ExtJSは複雑怪奇なコードになりがちなのは事実なので気をつけなければならないのと、もし後の人が居るとすれば、その人が大変ですね…
イベントドリブンのプログラミングはこの辺がネックかもしれません。
ということもあり、ExtJSの開発は Sencha Architect を採用してもらって使っています。

本日、これまで私の半分趣味でもあったExtJSを仕事としそして共感してくれていた仲間とお別れです。
彼は国外に旅立ちます。
彼の幸せを願い、今までの感謝を込めて。

Categories:

コメントは受け付けていません