This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|

WURFL(Wireless U niversal Resource F i L e)は、さまざまなモバイルデバイスのデバイス機能と特徴に関する情報を含む独自のアプリケーションプログラミングインターフェイス(API)とXML構成ファイルのセットであり、モバイルデバイスの検出に重点を置いています。[ 1 ] [ 2 ]バージョン2.2 まで、WURFLは「オープンソース/パブリックドメイン」ライセンスでリリースされました。[3]バージョン2.2より前は、デバイス情報は世界中の開発者によって提供され、WURFLは頻繁に更新され、市場に登場する新しいワイヤレスデバイスが反映されていました。 2011年6月、WURFLプロジェクトの創設者であるLuca Passaniと、人気のPHP WURFL APIであるTera-WURFLの作者であるSteve Kamermanが、WURFLを使用した商用モバイルデバイス検出サポートとサービスを提供するためにScientiaMobile, Incを設立しました。[4] 2011年8月30日現在、ScientiaMobile WURFL APIは、非商用利用にはAGPLライセンス、商用利用にはプロプライエタリライセンスというデュアルライセンスモデルでライセンスされています。WURFLデータベースの現在のバージョン自体はオープンソースではなくなりました。
解決策のアプローチ
この問題に対するアプローチはいくつかあり、非常に原始的なコンテンツを開発してそれがさまざまなデバイスで動作することを期待する、サポートをデバイスの小さなサブセットに制限する、またはブラウザ ソリューションを完全にバイパスしてJava MEまたはBREWクライアント アプリケーションを開発する、などです。
WURFLは、ページ要素(ボタン、リンク、テキストボックスなど)を抽象化してコンテンツページを開発することで、この問題を解決します。実行時に、これらの要素は各デバイスに適した特定のマークアップ形式に変換されます。さらに、開発者はデバイス固有の機能(これらはすべてWURFLに含まれています)に基づいて、実行時にコンテンツのその他の決定を行うように指定できます。
WURFLクラウド
2012年3月、ScientiaMobileはWURFLクラウドの立ち上げを発表しました。[5] WURFLクラウドは有料サービスですが、趣味人や小規模企業向けに、トラフィックが限られたモバイルサイトでの使用を目的とした無料サービスも提供されています。[6]現在、WURFLクラウドはJava、Microsoft .NET、PHP、Ruby、Python、Node.js、Perlの各プログラミング言語をサポートしています。[7] [8]
WURFL と Apache、NGINX、Varnish Cache、HAProxy
2012年10月、ScientiaMobileはC++ API、Apacheモジュール、NGINXモジュール、Varnish Cacheモジュールの提供を発表しました。 [9]その後、2016年11月には、ScientiaMobileはHAProxyロードバランサー用のモジュールを提供しました。[10]他のWURFL APIとは異なり、C++ APIとモジュールは商用配布のみです。いくつかの一般的なLinuxディストリビューションは、 RPMおよびDEBパッケージを通じてサポートされています。[11]
WURFL.io
2014年にWURFL.ioが立ち上げられました。WURFL.ioは、ScientiaMobileの非商用製品とサービスを特集しています。
- WURFL.js: サーバー側で検出されたプロパティ(WURFL機能)をWebページ内のJavaScriptで利用できるようにするJavaScriptデバイス検出サービス。[12]
- ImageEngine: ウェブ上での画像配信を最適化するためのWURFLベースの画像CDN。[13]
- 最新のモバイルおよび Web 統計を提供する MOVR (Mobile OverView Report)。
WALL、ワイヤレス抽象化ライブラリ
WALL(Luca PassaniによるWireless Abstraction Library)は 、開発者がプレーンHTMLに似たモバイルページを作成できるJSP タグライブラリです。これにより、 HTTPリクエストの送信元であるデバイスに、デバイスの実際の機能に応じてWML、C-HTML、XHTMLモバイルプロファイルを送信できます。 [14]デバイスの機能は、WURFL APIを使用して動的に照会されます。PHPへのWALLポート(WALL4PHP)も利用可能です。
サポートされている実装
WURFL は現在、以下を使用してサポートされています。
- Java(WALL経由)
- PHP(Tera-WURFL(データベース駆動型)、新しいWURFL PHP API、WALL4PHP経由)
- .NET Framework (Visual Basic / C# / 任意の .NET 言語 API および Somms.NWURFL(C#) 経由)
- パール
- ルビー
- Python(Pythonツール経由)
- XSLT
- C++
- Apacheモバイルフィルター
PHP/MySQLベースのTera-WURFL APIには、XML Webサービスをサポートする任意の言語からWURFLを照会できるリモートWebサービスが付属しており[15]、次の言語のクライアントがすぐに使用できます。
- PHP
- パール
- パイソン
- JavaScript
- ActionScript 3(Flash / Flex / AIR / ECMAScript)
ライセンスの更新
2011年8月29日のWURFLアップデートには、新しいライセンス条項が含まれています。これらの条項は、WURFLを使用できる複数のライセンスを規定しています。無料版のライセンスでは派生作品の制作は許可されておらず、wurfl.xmlファイルへの直接アクセスもできません。「派生作品禁止」条項により、ユーザーはWURFLファイルに新しいデバイス機能を直接追加することも、「パッチ」の提出を通じて追加することもできなくなりました。WURFLリポジトリでサードパーティAPIを利用するには、商用ライセンスが必要です。
2012年1月3日、ScientiaMobileは、オープンソースデバイスデータベースOpenDDRに対し、WURFLの以前のバージョンのデータを含むDMCA削除通知を提出しました。OpenDDRによると、これらのデータはGPLに基づいて利用可能でした。 [16]
2012年3月22日、Matthew Weier O'Phinneyは、Zend Frameworkがバージョン1.12でWURFLのサポートを終了すると発表しました。[17]これは、ライセンスの変更によりZend Frameworkのライセンスと互換性がなくなったためです。[18]新しいライセンスでは、「WURFL APIを変更するかどうかに関わらず、ウェブサイトのソースコード全体をオープンソース化すること」が求められています。[19]
参照
参考文献
- ^ Hatem (2007年2月11日). 「WURFL, ワイヤレスユニバーサルリソースファイル」. phpmagazine.net . 2011年12月29日閲覧。WURFL
は、ワイヤレスデバイスの構成、機能、特徴に関する情報を収集することを目的としたオープンソースプロジェクトです。[...] このファイルはXML形式です[...]
- ^ Wong, Richard (2010年3月4日). 「モバイルでは断片化は永遠だ。対処しよう」. TechCrunch . 2011年12月29日閲覧.
WURFL(ワイヤレスユニバーサルリソースファイル)— オープンソースプロジェクト。「地球上のあらゆるワイヤレスデバイスの情報をすべて含んだ設定ファイル」
- ^ “新しいWURFLスナップショットが利用可能になりましたが、重要な変更があります”. 2011年8月30日. 2012年7月15日時点のオリジナルよりアーカイブ。2013年9月7日閲覧。
- ^ Krishna Guda、ScientiaMobile, Inc. CEO「WURFL チームが ScientiaMobile を立ち上げ」、2011 年 6 月 6 日、2011 年 6 月 27 日にアクセス。
- ^ Passani, Luca (2012年3月13日). 「WURFLクラウドがついに登場!」 ScientiaMobile . 2012年3月25日閲覧。
長年にわたり、WURFLクラウドの提供開始について多くの方からお問い合わせをいただいておりました。ScientiaMobileの登場により、それが実現しました。
- ^ ScientiaMobile, Inc. (2012年3月19日). 「ScientiaMobile、クラウドでWURFLモバイルデバイス検出を提供開始」. PRWeb . 2012年3月25日閲覧.
ScientiaMobileは常に開発者コミュニティに特別な配慮を払ってきました。特定のユーザー層向けに無料オプションを提供していることがその証です。同時に、エンタープライズ分野における当社の専門知識により、大企業にも最適なソリューションを提供することが可能になりました。
- ^ ScientiaMobile, Inc. (2012年10月17日). 「ScientiaMobile、WURFLクラウド向けPerlクライアントを発表」. PRWeb. 2014年4月5日時点のオリジナルよりアーカイブ。
- ^ 「WURFL Cloud 入門」ScientiaMobile, Inc.
- ^ Passani, Luca (2012年10月2日). 「HTTPとモバイル:欠落したヘッダー」. ScientiaMobile . 2012年10月20日閲覧。HTTP
リクエストや環境変数に新しいヘッダーや値を追加することは、明らかなユースケースです。これにより、組織は既存のサイトやシステムを中断することなく(あるいは再導入することなく)、WURFLの価値を「注入」することができます。
- ^ 「Scientamobile WURFLデバイス検出モジュールを有効にする」. 2016年11月4日. 2021年11月29日閲覧。
- ^ ScientiaMobile, Inc (2012年10月2日). 「ScientiaMobile FAQ: C++ NGINX Varnish Apache」. ScientiaMobile . 2012年10月20日閲覧。Java
、.NET、PHP、DB APIとは異なり、C++ APIとモジュールはデュアルライセンスではなく、商用ライセンスのみでリリースされています。ご興味のある方は、通常通りライセンスについてお問い合わせください。
- ^ 「JavaScriptによるサーバー側検出」、smashingmagazine.com、2014年7月。
- ^ 「ImageEngine、高速画像CDN」ImageEngine.io . ScientiaMobile.
- ^ 「WURFLとWALL」。palowireless.com 。 2011年12月29日閲覧。
ワイヤレス抽象化ライブラリ(WALL)は、ワイヤレスデバイス用のユニバーサルマークアップを提供するJavaタグライブラリです。
- ^ リモートWebサービス。Tera-WURFL。2014年5月23日閲覧。
- ^ Eden, Terence (2012年1月6日). 「WURFLとデータベース著作権」. Terence Edenのブログ. 2023年8月14日閲覧。
- ^ ...WURFL プロジェクトによるライセンスの変更 (無料バージョンは現在 AGPL) により、Zend_Http_UserAgent から WURFL アダプターが削除されます...
- ^ Zend Framework. Framework.zend.com. 2014年5月23日閲覧。
- ^ AGPL ライセンスでは、WURFL API を変更するかどうかに関係なく、Web サイトの完全なソース コードをオープンソース化することが要求されます。
外部リンク
- サイエンティアモバイル
- WURFL.io
- イメージエンジン.io
- SourceForge の WURFL (サイト 1)
- SourceForge のワイヤレス ユニバーサル リソース ファイル (サイト 2)
- GitHub の WURFL