NikoNikoLog 開発の記録 (3) - TAppKit が生まれ、その開発がはじまった

2019年09月10日 21:10更新

またまた前回に続き、NikoNikoLog のモバイルウェブ版の開発の話、しかもまた前回から引きずっているフロントエンド用フレームワーク開発の話です。

完全に開発者向けの記事が続いてしまって申し訳ありませんが、もうちょっとだけお付き合いください。

(この記事はアトトックラボからの転載です)

TAppKit(仮)の誕生

atotok ブランドの製品である NikoNikoLog10Years 、これらの製品群に我々の意図した通りの一貫したユーザー体験を与えるためには、フロントエンド用フレームワークの開発がチームに課せられた急務でした。

開発は最初から綿密に設計して行う選択肢もありましたが、まずは先に作った NikoNikoLog のモックをフレームワークベースの実装に置き換えるところからはじめました。なのでフレームワーク自体は完全に新規開発とはいえど、*その一方で NikoNikoLog の次期大規模アップデート開発の成果物でもあります。*

ちなみにフレームワーク化するにあたって、どうしても名前が必要になります。とりあえず軽い気持ちで TAppKit と名付けておきました。TAppKit の T は atotok、10Years、NikoNikoLog と言った製品が社内で Tule Project と呼ばれていることに由来します。

JavaScript で作るか、CoffeeScript で作るか

TAppKit と名前まで仮ながら決めたものの、そのフレームワーク開発は ES6(ES2015)で行うのか、CoffeeScript で行うのかは結構悩みました。ちなみに TypeScript は完全に最初から対象外だったのはうちの社風から察してください。

結局、制御系の構文をスマートに書きやすいなどの理由で CoffeeScript を採用することにしました。letconst などの ES6 の機能は使いたいと思いつつも、今回のフレームワークは各機能が細かくコンポーネント化、クラス化されていたりするので不用意な変数による侵食は起きづらいであろうとの判断もありました。それでも実はそれを決定に持っていくまでの間、水面下では CoffeeScript と JavaScript の両方で同じ実装を進めていた・・・のもまた懐かしい話です。

今後、状況次第では CoffeeScript で書いているコアなコードを JavaScript にリプレイスする可能性も・・・もしかしたらあるかもしれません。

TAppKit(仮)の設計思想、強みと弱点

TAppKit はその設計思想や使い勝手において、Ruby on RailsApple の提供する AppKit の影響を大きく受けています。データの取り扱いに関する部分は Rails、UI に関する部分は AppKit の影響を受けていることが顕著です。

例えば TAppUILabel では表示テキストを以下のコードで書き換えられますし、TAppUIImageView なら以下のコードで表示画像を変更できます。


この記事の続きはアトトックラボでご覧ください。

atotok について

atotok(アトトック)は理想の姿を明確に描き、あなたの「夢」を叶えるお手伝いをします。

で理想の姿を描き、 で描いた夢を叶えるまでの気分の変化を残しておきましょう。

なりたい自分を探すため、夢を叶えるためのヒントを集めたさまざまなコンテンツも展開しています。

サービス

ヒントを探す

よく読まれている記事

atotok とは?

atotok(アトトック)は理想の姿を明確に描き、あなたの「夢」を叶えるお手伝いをします。

で理想の姿を描き、 で描いた夢を叶えるまでの気分の変化を残しておきましょう。

なりたい自分を探すため、夢を叶えるためのヒントを集めたさまざまなコンテンツも展開しています。

10Yearsは理想の姿を明確に描くためのサービスです。

10年先の将来を考えることで今なにをすべきか見えてきます。

さあ、10年後の自分に向けて10Yearsを始めてみましょう。

ニコニコログは毎日の気分の変化を記録するためのサービスです。

記録した気分の変化は、カレンダーで過去に遡って一覧できます(チームのカレンダーはもっと便利です!)

もし悲しい顔のアイコンが毎日続いていたら・・・生活を見直す時期なのかもしれませんよ!

まだユーザー登録がお済みでない方
今すぐユーザー登録!
ユーザー登録がお済みの方
ログイン

ヒントを探す