IronBarcodeとBarcodeLibの比較
バーコードは、それが取り付けられたアイテムに関する情報をエンコードするラベルの一種です。 それは、通常非常に広い黒いバーとスペースのパターンで始まり、数字を表します。 バーコードは、通常時間と労力がかかるデータ収集と解析のプロセスを簡素化します。 それらは機械で素早く簡単にスキャンできるため、エラーが減少し、コストが低下します。 その適用例には、在庫管理、品質管理、サプライチェーン管理が含まれます。 これらのケースでは、製品のレベルを区別したり、最終目的地まで長距離にわたって製品を追跡したりする際に効果的なツールであることが示されています。
バーコードと併用される2つのコーディングシステムがあります。 これらは、Uniform Code Council (UPC) と国際標準化機構 (ISO) と呼ばれます。 UPCコードは、小売店で販売される製品や商品を表現するために設計されました。 UPCは12桁のコードで、6、10、または13桁に分解されます。 エラー修正目的で使用される2つのトレーリングチェック数字もあります。 スキャンされると、最初の5桁は製造会社とその製品ライン内の製品を表します。最後の数字は、その機械で読み取られる製品や記事を特定します。 ISOコードは、主に記事自体ではなく記事番号の表現として、国際的に取引する企業により元々開発されました。
この記事では、2つの人気のあるバーコードライブラリを比較します:
- BarcodeLib
- IronBarcode
両方のライブラリは、バーコードの生成と認識に使用できます。 すべて for .NETフレームワークをサポートし、バーコード画像を保存することができます。
C#でBarcodelibを使用する方法
- BarcodeLib C#ライブラリをインストールする
- バーコードの構造とスタイルをカスタマイズする
- さまざまな種類の新しいバーコードを生成する
BarcodeReaderC# クラスを使用してバーコードを読み取る- バーコードを画像としてエクスポートする
BarcodeLibの概要
Barcodelib .NET 向け は、ASP.NET、.NETクラス、コンソールアプリケーション、Windowsフォームアプリケーション、Microsoftレポートサービス、Crystal Reports .NET 向け、クライアントRDlCレポートでバーコードを生成するため for .NETバーコード生成コンポーネントのスイートです。
- 使いやすい — ASP.NET Webフォーム & .NET Windowsフォームのバーコード生成コントロールDLLをドラッグ&ドロップ
- 再配布が容易 — すべてのバーコードと機能は個々のDLLアセンブリに組み込まれています。 アクティベーションキーや登録コードは不要です。
- 完全に管理されたC#コード — すべて for .NETバーコード生成コンポーネントはVisual C#.NET管理されたコードでコンパイルされています。
- ASP.NETバーコードアプリケーションと互換性があります — 簡単にaspxまたはhtmlページの
タグにバーコード画像を埋め込むことができます。
- 最新のバーコードスタンダードに対応 — すべての線形および2dバーコード生成パラメータは、対応するバーコード仕様に準拠しています。
- 高い評価 for .NETバーコードコンポーネント — 2003年のリリース以来、1000以上の顧客に利用され、高評価を得ています。
- ロイヤリティフリーのデベロッパーライセンス — 無制限の数のコンピューターとサーバーに.NETパッケージコンポーネントを再配布できます。
- バーコードのチェックサムをサポート — 線形バーコードでチェックサム数字を追加または削除して制御できます。
- バーコードテキストをカスタマイズ — 線形バーコードの下または上に読みやすいテキストを表示または非表示にすることができます。
- 画像解像度とサイズを調整 — 画像解像度、画像幅、および画像高さを通じてバーコード画像のサイズを制御できます。
- バーコードモジュールサイズ設定 — バーコードモジュールサイズを設定することにより、生成されたバーコード画像サイズを自由に設定できます。
- バーコード画像の向き — バーコード画像を0、90、180、270度で表示することができます。
- バーコードのエンコードと保存 — バーコードをGIF、JPEG、PNG、およびビットマップ画像形式にエンコードするか、アイロンソフトウェアからGraphics、Bitmap、HttpResponse、Stream .NETオブジェクトに出力することができます。
IronBarcode
IronBarcode for .NETを使用すると、プログラマーは.NETアプリケーションおよびウェブサイトからバーコードおよびQRコードを読み書きできます。 IronBarcodeは、バーコードを読み書きするために1行のコードを必要とします。 .NETバーコードライブラリを使用して、ほとんどのバーコードおよびQR標準を読み書きできます。 Code 39/93/128, UPC A/E, EAN 8/13, ITF, RSS 14 / Expanded, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS, QRは最も一般的な種類の一部です。タイプ、テキスト、バイナリデータ、ページ、画像ファイルがバーコード結果データに含まれています。 バーコードAPIの機能は以下の通りです:
- IronBarcodeは、UPC A/E、EAN 8/13、Code 39/93/128、ITF、MSI、RSS 14/Expanded、Databar、Codabar、QR、Styled QR、Data Matrix、MaxiCode、PDF417、Plessey、Aztecを含むほとんどのバーコードタイプとQR標準を読み書きします。 結果によって提供されるバーコードデータ、タイプ、ページ、テキスト、およびバーコード画像は、アーカイブまたはインデックスシステムに最適です。
- 画像の前処理により、読み取り速度と精度が向上します—IronBarcodeは、バーコード画像を自動的に前処理して読み取り速度と精度を向上させます。 スキャンやライブビデオフレームを読み取り、回転、ノイズ、歪み、傾きを補正します。 バッチ処理サーバーアプリケーションは、複数のコアやスレッドを利用し、単ページおよび複数ページドキュメントで自動的に一つまたは複数のバーコードを見つけます。 複雑なAPIを使用せずに、特定のバーコードの種類やドキュメントの位置を検索できます。
- .NETプロジェクトでの使用を目的としています—わずか数行のコードで数分で始めることができます。 単一のDLLで依存関係なしに、.NET Framework用に構築されています; 32ビットおよび64ビットをサポートし、任意 for .NETおよび.NETコア言語で使用可能です。 Web、クラウド、デスクトップ、およびコンソールアプリケーションでモバイルおよびデスクトップデバイスをサポートします。 .NETアプリケーションでの一般的な使用シナリオおよび回転バーコードの作成にも使用され、これらおよび他の一般的なシナリオ for .NETサポートも提供します。
- 様々なドキュメント形式のためにバーコードとQRコードを作成 — PDF、JPG、TIFF、GIF、BMP、PNG、HTMLなど、様々なファイルおよびストリーム形式でファイルまたはストリームに保存および印刷します。 色、品質、回転、サイズ、およびテキストをすべて変更できます。
2.0新しいプロジェクトの作成
Visual Studioを開き、ファイルメニューに進みます。 新しいプロジェクトを選択し、コンソールアプリケーション/Windowsフォーム/WPFアプリケーションを選択します。 IronBarcodeはすべての種類のアプリケーションで使用できます。 また、Webform/MVC/MVC Coreのようなアプリも使用できます。


3.0 IronBarcodeライブラリのインストール
3.1 IronBarcodeの使用
IronBarcodeライブラリは4つの方法でダウンロードおよびインストールできます:
以下のような方法です:
IronBarcodeライブラリをダウンロードしてインストールするには、4つの方法があります。
- Visual Studioコマンドラインを使用して。
- NuGetウェブサイトから直接ダウンロードして。
- IronBarcodeウェブサイトから直接ダウンロードして。
3.1.1 Visual Studioを使用
Visual Studioソフトウェアは、ソリューションにパッケージを直接インストールするためのNuGetパッケージマネージャーオプションを提供します。 以下のスクリーンショットは、NuGetパッケージマネージャーを開く方法を示しています。

NuGetウェブサイトからパッケージの一覧を表示するための検索ボックスを提供します。パッケージマネージャーでは、以下のスクリーンショットのように"Barcode"というキーワードで検索する必要があります。

上の画像から、関連する検索結果のリストが得られます。 解決策にパッケージをインストールするために必要なオプションを選択する必要があります。
3.1.2 Visual Studioコマンドラインを使用
Visual Studioで、ツール -> NuGetパッケージマネージャー -> パッケージマネージャーコンソールに移動
コンソールタブに次の行を入力します:
今、パッケージは現在のプロジェクトにダウンロード/インストールされ、使用可能になります。

3.1.3 NuGetウェブサイトから直接ダウンロード
第三の方法は、ウェブサイトから直接パッケージをダウンロードすることです。
- リンクに移動します。
- 右側のメニューからダウンロードパッケージオプションを選択します。
- ダウンロードしたパッケージをダブルクリックして自動的にインストールします。
- ソリューションをリロードしてプロジェクトで使用を開始してください。
3.1.4 IronBarcodeウェブサイトから直接ダウンロード
ウェブサイトから最新パッケージをダウンロードするには、リンクをクリックしてください。ダウンロード後、以下の手順に従ってプロジェクトにパッケージを追加します:
- ソリューションウィンドウからプロジェクトを右クリックします。
- "参照"オプションを選択し、ダウンロードした参照の場所を参照します。
- 参照を追加するにはOKをクリックします。
最初に行うべきことは、IronBarcodeライブラリをインストールし、.NETフレームワークにバーコード機能を追加することです。 これをNuGetパッケージを使用して、または.NETバーコードDLLをダウンロードして行うことができます。
3.2 BarcodeLibを使用する
BarcodeLibライブラリは4つの異なる方法でダウンロードしてインストールできます。
以下のような方法です:
IronBarcodeライブラリをダウンロードしてインストールするには、4つの方法があります。
- Visual Studioコマンドラインを使用して。
- NuGetウェブサイトから直接ダウンロードして。
- IronBarcodeウェブサイトから直接ダウンロードして。
3.2.1 Visual Studioを使用
この方法は、上記のIronBarcodeに使用した方法と似ています。 変更が必要なのは、以下の画像のように検索条件だけです。

最初のオプションを選択すると、BarcodeLibバーコードライブラリがダウンロードされます。
3.2.2 Visual Studioコマンドラインを使用
Visual Studioで、ツール -> NuGetパッケージマネージャー -> パッケージマネージャーコンソールに移動
パッケージマネージャーコンソールタブに次の行を入力します:
パッケージは現在のプロジェクトにダウンロード/インストールされ、使用する準備が整います。
3.2.3 Barcodelibウェブサイトから直接ダウンロード
第三の方法は、ウェブサイトから直接パッケージをダウンロードすることです。
- 単にここをクリックしてNuGetウェブサイトにリダイレクトされ、パッケージをダウンロードできます。
4.0 バーコード生成
バーコード生成はIronBarcodeとBarcodeLibを使用して簡単に行えます。 例を使用してそれを見てみましょう。
4.1 IronBarcodeの使用
IronBarcodeはバーコードラベルを作成し、さまざまな種類の画像形式に保存するために使用できます。 また、生成したいバーコードタイプを指定することができます。 以下のスニペットはバーコード生成用です。
// Generate a barcode with IronBarcode and save it as an image
var MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128);
// Add annotations below the barcode
MyBarCode.AddAnnotationTextBelowBarcode("123456");
// Save the barcode image in a specified format
MyBarCode.SaveAsImage("MyBarCode.jpeg");' Generate a barcode with IronBarcode and save it as an image
Dim MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128)
' Add annotations below the barcode
MyBarCode.AddAnnotationTextBelowBarcode("123456")
' Save the barcode image in a specified format
MyBarCode.SaveAsImage("MyBarCode.jpeg")BarcodeWriter.CreateBarcode は IronBarcode ネームスペースからの静的クラスメソッドです。 それは、コンテンツとエンコーディングタイプを指定して新しいバーコードオブジェクトを初期化します。 より多く、高さと幅のオプションを指定できます。 AddAnnotationTextBelowBarcode メソッドはバーコードの下にテキストを追加することを可能にします。
上記のスニペットはJPEG形式でバーコードを保存するデモンストレーションもしています。 IronBarcodeはHTMLや他の画像形式でバーコードを出力する代替オプションを提供し、柔軟性を持ちます。
// Create a QR code with a logo
var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500);
// Change the barcode color
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
// Save the QR code with the logo as a JPEG
QRWithLogo.SaveAsJpeg("Logoqr.jpeg");' Create a QR code with a logo
Dim QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500)
' Change the barcode color
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen)
' Save the QR code with the logo as a JPEG
QRWithLogo.SaveAsJpeg("Logoqr.jpeg")このスニペットは CreateQrCodeWithLogo や ChangeBarCodeColor などのメソッドを使用して、ロゴを埋め込んだQRコードを生成し、外観をカスタマイズすることを示しています。
4.2 BarcodeLibを使用する
BarcodeLibはさまざまなバーコードタイプの機能を提供します。以下のスニペットでは、使用方法を示しています:
// Create a barcode using BarcodeLib
BarcodeLib.Barcode.Linear barcode = new BarcodeLib.Barcode.Linear();
// Set barcode parameters
barcode.Type = BarcodeType.CODE39;
barcode.Data = "CODE39";
barcode.UOM = UnitOfMeasure.PIXEL;
barcode.BarWidth = 1;
barcode.BarHeight = 80;
barcode.LeftMargin = 5;
barcode.RightMargin = 5;
barcode.TopMargin = 5;
barcode.BottomMargin = 5;
barcode.ImageFormat = System.Drawing.Imaging.ImageFormat.Png;
// Save barcode image
barcode.drawBarcode("C://barcode.png");
// Additional ways to output the barcode
byte[] barcodeInBytes = barcode.drawBarcodeAsBytes();
Graphics graphics = ...;
barcode.drawBarcode(graphics);
Bitmap barcodeInBitmap = barcode.drawBarcode();
HttpResponse response = ...;
barcode.drawBarcode(response);
Stream stream = ...;
barcode.drawBarcode(stream);' Create a barcode using BarcodeLib
Dim barcode As New BarcodeLib.Barcode.Linear()
' Set barcode parameters
barcode.Type = BarcodeType.CODE39
barcode.Data = "CODE39"
barcode.UOM = UnitOfMeasure.PIXEL
barcode.BarWidth = 1
barcode.BarHeight = 80
barcode.LeftMargin = 5
barcode.RightMargin = 5
barcode.TopMargin = 5
barcode.BottomMargin = 5
barcode.ImageFormat = System.Drawing.Imaging.ImageFormat.Png
' Save barcode image
barcode.drawBarcode("C://barcode.png")
' Additional ways to output the barcode
Dim barcodeInBytes() As Byte = barcode.drawBarcodeAsBytes()
Dim graphics As Graphics = ...
barcode.drawBarcode(graphics)
Dim barcodeInBitmap As Bitmap = barcode.drawBarcode()
Dim response As HttpResponse = ...
barcode.drawBarcode(response)
Dim stream As Stream = ...
barcode.drawBarcode(stream)BarcodeLib は Linear バーコードオブジェクトを作成して設定し、タイプ、寸法、画像フォーマットなどの様々なプロパティを持ちます。 バーコードは、ストリームやHTTPレスポンスなど、画像ファイル以外の複数の形式でエクスポートできます。
5.0 バーコードを認識する
IronBarcodeとBarcodeLibは、異なる画像形式とタイプからバーコードを認識することができます。その方法を以下に示します。
5.1 IronBarcodeを使用する
IronBarcodeは、文字列、ストリーム、または画像からバーコードを読み取ります。 ここでは、画像ファイルを使用する方法をご紹介します:
// Read a barcode from an image using IronBarcode
BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg");
if (QRResult != null)
{
// Output barcode value and type
Console.WriteLine(QRResult.Value);
Console.WriteLine(QRResult.BarcodeType);
}' Read a barcode from an image using IronBarcode
Dim QRResult As BarcodeResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg")
If QRResult IsNot Nothing Then
' Output barcode value and type
Console.WriteLine(QRResult.Value)
Console.WriteLine(QRResult.BarcodeType)
End IfQuicklyReadOneBarcode はバーコードデータを抽出するメソッドで、値とタイプを提供する BarcodeResult オブジェクト(テキスト、バイナリ値などのプロパティを含む)を返します。
5.2 BarcodeLibを使用する
BarcodeLibでのバーコード認識は、ファイル、ストリーム、またはビットマップを使用することができます:
// Configure settings for optimized recognition
OptimizeSetting setting = new OptimizeSetting();
setting.setMaxOneBarcodePerPage(true);
ScanArea top20 = new ScanArea(new PointF(0.0F, 0.0F), new PointF(100.0F, 20.0F));
ScanArea bottom20 = new ScanArea(new PointF(0.0F, 80.0F), new PointF(100.0F, 100.0F));
List<ScanArea> areas = new List<ScanArea>();
areas.Add(top20);
areas.Add(bottom20);
setting.setAreas(areas);
// Read barcode from a file using BarcodeLib
string[] results = BarcodeReader.read("c:/code39-barcode.gif", BarcodeReader.CODE39, setting);' Configure settings for optimized recognition
Dim setting As New OptimizeSetting()
setting.setMaxOneBarcodePerPage(True)
Dim top20 As New ScanArea(New PointF(0.0F, 0.0F), New PointF(100.0F, 20.0F))
Dim bottom20 As New ScanArea(New PointF(0.0F, 80.0F), New PointF(100.0F, 100.0F))
Dim areas As New List(Of ScanArea)()
areas.Add(top20)
areas.Add(bottom20)
setting.setAreas(areas)
' Read barcode from a file using BarcodeLib
Dim results() As String = BarcodeReader.read("c:/code39-barcode.gif", BarcodeReader.CODE39, setting)BarcodeReader はファイルパスを使用してバーコードを読み取り、画像を読み取り可能な形式に変換します。 それは BarcodeReader.read 内で複数のタイプと出力オプションをサポートしており、複数のバーコードフォーマットを同時に処理することを可能にします。
6.0 IronBarcode & BarcodeLibのライセンスモデルと価格
IronBarcode ライセンスモデルと価格
- **30 日間返金保証:**ライセンスを購入すると、ライセンスが機能しない場合は 30 日間返金されます。 -簡単な統合: IronBarcodeとプロジェクトおよび環境の統合は非常に簡単で、 NuGetパッケージから追加して 1 行のコードを記述するだけで実現できます。また、Web からダウンロードして環境に統合することもできます。 -**永久ライセンス:**各ライセンスは一度購入すれば、更新は必要ありません。 -**無料のサポートと製品アップデート:**すべてのライセンスには、製品チームによる 1 年間の無料製品アップデートとサポートが付属しています。 いかなる瞬間でも拡張機能を購入することが可能です。 拡張機能を閲覧できます。 -**即時ライセンス:**登録されたライセンス キーは、支払いが受領されるとすぐに送信されます。
すべてのライセンスは永続的であり、開発、ステージング、本番環境に適用されます。
ライトライセンス
- 1開発者
- 1地点
- 1プロジェクト
- 永続ライセンス
このライセンスは、組織内の単一のソフトウェア開発者に、単一の場所でIron Softwareを利用させることができます。 Iron Softwareは単一のWebアプリケーション、イントラネットアプリケーション、またはデスクトップソフトウェアプログラムで使用できます。 ライセンスは譲渡できず、組織外または代理店/クライアント関係の外で共有することはできません。このライセンスの種類は、他のすべてのライセンスの種類と同様に、合意書に明示的に付与されていないすべての権利を明示的に除外し、追加のカバレッジを購入しない限り、OEM再配布とIron SoftwareをSaaSとして利用することを禁止します。
価格: 年間Contact Salesから始まります。
プロフェッショナルライセンス:
- 10開発者
- 10地点
- 10プロジェクト
- 永続ライセンス
これにより、組織内のあらかじめ決められた数のソフトウェア開発者が、最大10人までの単一の場所でIron Softwareを利用できます。 Iron Softwareは、好きなだけ多くのWebサイト、イントラネットアプリケーション、またはデスクトップソフトウェアアプリケーションで使用できます。ライセンスは譲渡不可で、組織外または代理店/クライアント関係外では共有できません。このライセンスタイプは、他のすべてのライセンスタイプと同様、OEMの再配布や追加のカバレッジを購入せずにSaaSとしてIron Softwareを利用することを含むすべての権利を明示的に本契約に基づき排除します。 このライセンスは、最大10のプロジェクトに統合できます。
価格: 年間$2,999から始まります。
Unlimited License
- 無制限の開発者
- 無制限の地点
- 無制限のプロジェクト
- 永続ライセンス
組織内の無制限の数のソフトウェア開発者は、Iron Softwareを無制限の場所で利用できます。 Iron Softwareは、好きなだけ多くのWebサイト、イントラネットアプリケーション、またはデスクトップソフトウェアアプリケーションで使用できます。ライセンスは譲渡不可で、組織外または代理店/クライアント関係外では共有できません。このライセンスタイプは、他のすべてのライセンスタイプと同様、OEMの再配布と追加のカバレッジを購入せずにSaaSとしてIron Softwareを利用することを含むすべての権利を明示的に本契約に基づき排除します。
価格: 年間Contact Salesから始まります。
**ロイヤリティフリーの再配布:**これにより、基本ライセンスでカバーされるプロジェクトの数に基づいて、 Iron Softwareをさまざまなパッケージの商用製品の一部として (ロイヤリティを支払うことなく) 配布できるようになります。 SaaSソフトウェアサービス内でのIron Softwareの展開を許可し、ベースライセンスでカバーされるプロジェクトの数に基づきます。
価格: 年間$3,395から始まります。
BarcodeLib ライセンスモデルと価格
- 支払いが承認されると、製品を含むメールが即座に届きます。
- すべてのライセンスには、6ヶ月の無料プレミアムサポートと1年間の無料アップデートがついています。
- ご要望やご質問がございましたら、サポートまでメールでご連絡ください。
**単一開発者ライセンス:**単一開発者ライセンスでは、1 人の開発者が、複数の場所に配置できる無制限のサーバーに、無制限のユーザー ライセンスとインストール ソフトウェアをロイヤリティ フリーで配布できます。
価格: $1,099から(オプションの年間メンテナンス付きの一回限りの購入)。
**5 開発者ライセンス:**これにより、5 人の開発者が、無制限のユーザー ライセンスとインストール ソフトウェアを無制限のサーバーにロイヤリティ フリーで配布でき、複数の場所に配置できます。
価格: $1,899から(オプションの年間メンテナンス付きの一回限りの購入)。
**無制限の開発者ライセンス:**これにより、無制限の開発者にロイヤリティフリーの配布、無制限のユーザー ライセンス、および複数の場所に配置できる無制限のサーバーへのソフトウェアのインストールが可能になります。
価格: $2,799から(オプションの年間メンテナンス付きの一回限りの購入)。
7.0 結論
IronBarcodeは、バーコード生成と認識を助ける最も強力なライブラリの1つです。 また、バーコード生成と認識のスピードにおいて最速のライブラリの1つです。 このライブラリは、さまざまなオペレーティングシステムでサポートされています。 バーコード形式が幅広くサポートされており、簡単に作成できます。 画像形式をJPEGやその他に変更し、色、ラインの高さ、幅、バーコードテキストを変更できます。
BarcodeLib.Barcodeも強力なライブラリで、異なる画像形式でバーコードを生成および認識するのに役立ちます。 さまざまな画像形式を使用してバーコードを読み取り、作成できます。 BarcodeLibは、バーコードの外観(高さ、幅、バーコードテキストなど)を変更するオプションも提供しています。
IronBarcodeのパッケージは、より良いライセンスとサポートを提供します。 BarcodeLib はより高価で、一回限りの購入価格が$1,099から始まりますが、IronBarcode は$999 の開始価格で明らかに安価です。 IronBarcodeはより費用対効果が高いだけでなく、BarcodeLibよりも多くの機能を提供します。 さらに、IronBarcodeはBarcodeLibよりも高速という利点があります。 IronBarcodeには、異なる画像形式やPDFドキュメントからもバーコードを読み取れるプロパティがあります。 バーコードやQRコードに画像を追加できる機能もあり、他のライブラリにはないものです。
だから、何を待っていますか? 無料トライアルは誰にでも開放されています。 ライセンスをこちらで取得し、すぐに始められます。

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。