TypeScript開発
大規模で複雑なWebフロントエンドを実現する
TypeScript開発。
TypeScriptとは
中規模~大規模なWeb開発向けの
JavaScript拡張版
TypeScript はマイクロソフトによって開発されたオープンソースのプログラミング言語でJavaScriptのスーパーセット(簡単に言えば拡張版)です。
米GithubによるとTypeScriptは世界で4番目に人気となっているプログラム言語です。
2017年にGoogle社内の標準言語としてTypeScriptが承認されたのを機に注目度が上がりました。
昨今JavaScriptはサーバー側のプログラミング言語としても使用でき、多くのデジタルサービスで採用されるようになりました。ただし、JavaScriptのコードは複雑で重くなりオブジェクト指向プログラミング言語の要件を完全に満たすことが難しくなっています。
JavaScriptの大規模化による弱点を解消しているのがTypeScriptです。

TypeScriptの利点
エラーやバグの事前チェック
構造化されていないJavaScriptコードを作成すると、アプリが複雑になるにつれて脆弱性が生じます。
例えば、ユーザ情報(氏名やメールアドレス)を収集するためのフォームがWebサイトにあり、メールアドレスを入力する欄が用意されている画面を想像してください。
フォームからメールアドレス入力欄を削除した場合、その値がウェルカムメールなどプログラム上で利用されたまま残っていると、標準のJSではアプリが実際に使われたとき初めてエラーとして検知します。
一方で、TypeScriptはコンパイル時に型チェックが入り、型エラーにフラグを付けるため、開発者が早期に間違いを見つけることを支援します。最大15%のバグを未然に防ぐ調査結果も出ています。

開発効率
明確で読みやすいコードは、新しくジョインした開発者でも簡単に保守できます。TypeScriptは型の割り当てを要求するため、コードをすぐに理解し、操作しやすくなります。
複数の開発者でもコードレベルの意思疎通がしやすく、技術的負債の削減に繋がり、プロジェクトに慣れるために多くの時間を費やすことなく、はるかに効率的な作業が可能となります。
またリファクタリングにも効果があり、内部の構造を後で修正しようとした際の難易度を減らします。
TypeScriptのコンパイラは、開発後のQAとテストプロセスを短縮にも役立つ為、初期開発時だけでなく、SaaSなどのWebサービスで継続的な開発を行うような場面において、工数圧縮に繋がり、品質も高めやすい特徴を有します。

高い互換性
TypeScriptは、JavaScriptに変換されて動くため、JavaScriptベースのテクノロジーにFitします。
フロントエンドのReactまたはVue、Next.jsおよびバックエンドのNode.jsとシームレスに統合されます。また、クロスプラットフォームのモバイルアプリケーション開発においてReactNative、JavaScriptテストにおいてJestなど多くの場面でTypeScriptを扱う事ができます。

当社のできること
React & React Native
当社は、WebフロントエンドをReact開発、スマートフォンアプリはReact Native開発を主に行っています。
Reduxによってサービス改善しやすい設計を行い、UIの状態管理とUI変更のアジリティを高め、 React Hooksにより複雑性の減少を行っています。
React Nativeでは大型のアプリ開発をよく行っている為、ReactNative用に最適化されたJavaScriptエンジン「Hermes(エルメス)」を活用したアプリパフォーマンスの向上を行っています。

Next.js
当社は、サーバサイド開発とSPA(Single Page Application)開発に強みを持っています。
Next.jsは、Vercelによって作成されたオープンソースのReactフロントエンド開発Webフレームワークであり、サーバー側のレンダリングやReactベースのWebアプリケーションの静的Webサイトの生成などの機能の他にも、自動画像最適化、SSR(サーバサイドレンダリング)、Fast Refresh(高速リロード)も可能で、TypeScriptの自動構成とコンパイルが可能です。
NestJSやGraphQLを活用したBFF(Backend for Frontends)、マイクロサービス型のWeb開発を行っています。

Azure PaaS App
当社は、Azure PaaSによるフルマネージドなモダンアプリケーション開発を得意としています。
モダンアプリケーション開発では、クラウドの上で単に動くシステムを提供するだけではなく、
スケーラブルで回復性と効率に優れ、安全な方法によるアーキテクチャ設計が求められます。
当社では、Azure AppServiceにてWebホスティングを行い、コンテナ、サーバレス、API開発を高速に行うことで、マネージドDB、IDaaS、モニタリング、セキュリティ面においても運用効率性の高いWeb開発を行っています。

Headless CMS(Contents API Hub)
当社では、ReactとLaravelをベースとしたWebサービス向けの開発コアフレームワーク(Gaudi Headless CMSコンポーネント)を保有しており、
管理画面に必要な機能を部品提供しています。
CMS、会員管理、サブスクリプション、動画メディア、マッチング、決済コンポーネントなど多彩な機能を有しています。
コンテンツ価値を最大化させるために、mBaaS、外部サービス、企業の既存システムと連携して、強力なバックエンドシステムをクラウドで提供することも可能です。

DevOps
DevOpsを採用するIT組織は、パフォーマンスの低い企業の200倍の頻度で展開し、リードタイムは2,555倍高速であり、そして回復時間は24倍速く、変更失敗率は3倍低くなっています。 セキュリティ問題の修正に費やす時間を50%短縮し、さらに予定外の作業ややり直しにかかる時間を22%削減します。
自分の組織を仕事に最適な場所として推奨する可能性が2.2倍高くなります。
当社では、PJ管理をAzure DevOpsで行うことで、試行開発プロジェクトやビジネスフィットが必要となるスクラム開発に適しているほか、リモートエンジニアリングによる共同管理を可能としています。
