コードのあゆみ

2022

LINE Messaging API

Webhookをフル活用し、LINEの擬似トークルームの制作に活用。Firebaseとの組み合わせつつ、パフォーマンスや機能として足りないものはGCPの機能で補う。

ユースケースとして、たとえばこれまではそういった専用の3rdパーテーサービスを月額利用するなどしてどうにか工夫し運用していたものが、自社専用設計として構築するでお友達管理からタグ付けまで一括管理できるようになる。

LINE公式アカウントを活用したビジネスをしているのであれば、専用の独自実装は強くお勧めしたい。

Nuxt 3, Vue 3, Vuetify 3

2022年秋の Nuxt 3, Vuetify 3 の正式公開を機に、秋以降のに着手するアプリは全て Nuxt 3, Vue 3, Vuetify 3 に移行しました。

2021

Nuxt Composition API(Nuxt 2)

Nuxt 3 時代への準備として、以降の案件を全て Nuxt Composition API(Nuxt 2)を導入。

TypeScriptの恩恵を享受できることに加え、composableとしてロジック部分を外部に切り出すことでコードの見通しも良くなり、恩恵しかない。

コンポーネント間ではリアクティブな値の受け渡しが可能なprovide/injectが使いやすく、やむを得ずストアに頼っていた部分も意図した通りのデザインパターンとすることができる。

LIFF(LINE Front-end Framework)

店舗催事用途にてLINEトークルーム内で使用するスタンプラリーや特典チケット発行機能と、その特典付与や消し込み機能など管理機能一シクを受託。

力をを入れてきたJavaScriptフレームワーク、Firebase、GCPとの相性がとても良く、本件以降LINE案件を積極受注するきっかけとなった。

2020

Flutter

受注前に予算が確定している業務にて、時間と労力をかけず要件を満たすスマホアプリを制作するために導入。

JavaScript製のフレームワークと異なり軽くとても良い感じ。リリース初期で需要があるか不明な段階でのアプリ開発はFlutterで十分なのではないかと思う。

Nuxt Property Decorator

Nuxtプロジェクトの品質向上を目的としてTypeScriptを導入したいとの考えから、Nuxt Property Decoratorを導入。波括弧とカンマから解放されたのも地味に嬉しかった。

コンポーネント間の連携においては@PropSync(.sync)がとても便利。

2018

Frebase

スマホアプリを迅速かつ低コストで進めたく導入。

Frebaseは認証(Authentication)、データベース(Cloud Firestore)、関数実行環境(Cloud Functions)、ホスティング(Hosting)、ストレージ(Cloud Storage)、通知(Cloud Messaging)と、スマホアプリ開発に必要なバックエンド要素は全てセットになっており、RalavelやRailsなどバックエンド側構築が一切不要となった。

ちょうどRealtime DatabaseからFirestoreに切り替わっていくタイミングだったのも幸いし、初学者でもスムースにプロジェクトに組み込むことができた。

React Native

スマホアプリ制作の候補版としてプロトタイプ作成に使用。

Expoを併用すると、ごく短時間でデプロイしからテスト版配布まで一気に行える。

しかしながらアプリ製品版はネイティブ開発で進めることとなったため、以降は簡易なデモにと思いましたがAdobe Xdなどデザインツールの進化で出番がなくなった。

Nuxt

スマホアプリの管理画面制作のために導入。FirebaseのNodeパッケージも準備されており、スムーズに導入をするkとができた。

このNuxt採用が、これ以降のビジネス的部分と業務的部分に大きな影響を与えることになった。

Vuetify

NuxtのUIフレームワークとして採用。他にも無数のUIフレームワークがあるなか、唯一納得のゆく機能とスタイルを提供しているものだった。

以降のプロジェクトでは、ほぼ必ずNuxtとセットで開発に利用することになる。

Swift

アプリ開発は結局Swiftに落ち着くことになる。Firebaseライブラリも用意されておりスムーズに組み込めた。

Xcodeが優れており開発環境としては文句なし。

algolia

全文検索サービスで、Firestoreと同期させることでフリーワード検索を全て一任できる。用途とコストが合えばぜひお勧めしたい。

SendGrid

Firebaseの制約でメール送信に制限があることから、独自ドメインなどメールアドレスから送信したい場合に使用。用途とコストが合えばぜひお勧めしたい。

回避策そしては、Google Workspace にドメインを割り当てて活用するという手段もある。

Kotlin

Androidアプリ開発はKotlinとなった。Firebaseライブラリも用意されておりスムーズに組み込めた。

2017

Vue

SPAフレームワークとしてはAngularが勢いをもっていた時期、最も学習コストが低そうでかつ実用的と考え導入したのがVueで、テンプレートの扱いやすさが決め手だった。

Laravelにも標準でパッケージに含まれていたため、いいとこ取りのはずが、業務用アプリケーションにおいてはサーバ上でHTMLを生成する必要性は薄いと考え、画面描画部分においては手数の少なくて済むVueで進めるようになった。

Laravel

業務用途のウェブアプリk制作が増えてきたことと、WordPressなどCMSをどうにかしてそれっぽく構築することに限界をかんじたため、PHPフレームワークとしてLaravelを導入。

他にもさまざまなPHPフレームワークがありますが、公式ドキュメントが充実していて理解しやすいものであったのが理由。あと語感が良かった。

プロジェクトのディレクトリ構成も綺麗でわかりやすく好感を持てるが、よく使うディレクトリはもう少し浅い階層にしてほしいなと思った。

テンプレートのBladeも使いやすい。

2016

gulp

JavaScriptタスクランナーとして利用。Gruntからの乗り換え。おもにSassやPug(Jade)からのファイル生成や、画像の最適化に使用。

Pug(Jade)

HTMLを書き出すのに使用。

OptiPNG、imagemin

画像の最適化。

2015

WordPress

ホームページを作成するのに使用。

Grunt

JavaScriptタスクランナーとして利用。おもにSassからのファイル生成に使用。

Sass

CSSを書き出すのに使用。

2012

PHP 5.3

ウェブアプリケーション作成のために学習。以降はPHPにシフト。

2007

Cent OS

ウェブサーバOSとして使用。

2003

Perl 5.8

Unicodeが正式サポートされ、文字コードに関する問題が大きく解消。ショッピングカートなど作成。

2002

Mac OS X Server

WebObjectsを試してみたく購入。

WebObjects

Webアプリケーショを作成してみたいと購入。制作完了には至らなかった。

2000

Free BSD

ウェブサーバOSとして使用。

1999

Perl 5.5

ホームページのカウンターや掲示板に使用。

1989

BASIC

マイコンゲームを写経。