前回の記事からほぼ1年後に、Qtで新機能が登場しました。 リリース5.9および5.10、および新しいツール、アドオン、プラットフォーム、サブスクリプションライセンスモデルへの移行。
私は年に6ヶ月に 1回よりも頻繁にニュースについて書きたいと思いますが、それがどうなるかがわかります。 私は通常、この記事を1月に書き始めましたが、今は何とか終えました。
今日のコンテンツは次のとおりです。
カンファレンスと展示会
Qt Contributors Summit 2017
これはQt開発者会議です。 The Qt Company(参加者の半分以下でさえあります)で働く人々だけでなく、一般的にプロジェクトに参加する全員。
2017年、 Qt Contributors SummitはQt World Summit 2017と統合され、ベルリンで開催されました。 プログラムとセッションノートはwikiで公開されています 。
今年はオスロで会議を開催することが決定されました。つまり、今回の世界サミットは別に開催されます。
Qt World Summit 2017
Qt Company自体が主催するイベント(会議)。 2017年、サミットはベルリンで開催されました。 訪問者の数によって、記録が得られました-約1000人(過去には800人でした?)
イベントページのアドレス( https://www.qtworldsummit.com )は年を示していないため、おそらくこのリンクはすぐに2018年のサミットを指し始め( 既に示しています )、2017年はアーカイブのどこかに行きます( いいえ、ただどこかデリー )。 しかし、あなたが去るまで( すでに去っています)-会議プログラムと出展者を見ることができます。 また、Qt(より正確にはV-Play )で記述されたサミットのモバイルアプリケーションをダウンロードすることも可能で、開発パートナーのおかげで、誰にとっても速度が低下してクラッシュすることに驚かされました。 なぜ私たちが自分自身でサミットの申請書を書くことができないのかは理解できない。
会議のスピーチはすべて YouTubeで公開されています。
- 基調講演 :
- Qt Design Principles and Roadmap、Lars Knoll、The Qt Company;
- モダンC ++、ハーブサッター。
- ソフトウェアとビジネスの動向、イゴール・ビーカー。
- One Hundred Languages、Linda Liukas、Hello Ruby;
- 見えないものをどのように測定しますか? Steven Goldfarb、ATLAS実験、CERN;
- Qt CompanyのJuha VareliusによるQt World Summit 2017へようこそ。
- ゲームエンジンの進化:TechからUXまで、Alex Montgomery、Amazon Lumberyard。
- 組み込みデバイス用のIDE、Justin Howard、Qualcomm。
- 事業内容
- QtとQML、独立系Qtエキスパート、トーマスブートロエで開発時間とコストを削減。
- LGPLライセンス契約の進化、ポール・クリスウェル、独立顧問。
- データの力を解き放つために空間分析を適用する、Eric Bader、Esri;
- Qt対 Web-総所有コスト、Burkhard Stubert、組み込み使用。
- システムオンモジュールHMIおよびM2Mソリューション開発、Rimac Automobili、Toradex;
- 実際のビジネスで最初にモバイルで成功、Roland Wienen、caseIC-SYS Informationssysteme;
- Qt for Mobileの最初の体験:私たちの旅、Bogdan Ogrean、FORTecH;
- 1人の開発者、3つの製品、3つのプラットフォーム、Nuno FilipeMagalhãesSantos、Imaginando。
- ソフトウェア技術への投資、PetteriHolländer、The Qt Company;
- Qtライブラリを備えたインタラクティブDOOHソフトウェア、Ionut Alexandrescu、The Qt Company。
- アプリ開発 :
- PySide、フリーデマンクライン、The Qt Companyを散歩してください。
- かわいいアプリは、クリーンアーキテクチャにふさわしい、Marco Piccolino、Maply。
- Clangツールで生産性を向上させます。 Olivier Goffart、Woboq GmbH;
- RESTful API記述言語、Alexey Rusakov;
- モバイルデバイス上のQtBluetooth-ドラゴンガイド、マティアスハッセルマン、KDAB;
- 開発とテストの技術的なヒントと例、Christian Feldbacher、V-Play。
- 開発者向けユーザーエクスペリエンスデザインの概要、ICS、Jeff LeBlanc。
- Qt C ++およびQML、Harri Porten、froglogicのテストカバレッジ。
- プレユーザーおよび統合ユーザーエクスペリエンス、ジェフリーブレンデッケソフトウェアサービス。
- AndroidとiOS-アプリをダイエットする、MaciejWęglarczyk、GameDesire;
- 制限なし:より複雑なモバイルビジネスアプリの作成方法、Ekkehard Gentz。
- Inside the Qt Object Model、サイモン・ハウスマン、The Qt Company;
- Q ++ for C ++ Developers、Bo Thorsen、Viking Software;
- 埋め込み :
- Qtを使用した次世代の直感的なハイエンドカメラの構築、RichardRöjfors、ハッセルブラッド。
- Qt Wayland Compositor:マルチプロセスユーザーインターフェイスの作成、Johan Helsing、The Qt Company;
- 組み込みデバイスの市場投入までの時間を短縮、Jouko Luukas The Qt Company。
- Qtでのジェスチャー処理、Bo Thorsenバイキングソフトウェア;
- Qt for Embedded Device creation-future direction、Marko Finnig、The Qt Company;
- IoTの世界のKNX、Dries Verbrugge、KNX。
- Qt Embeddedデバイスでの仮想キーボードの使用、Jan Arne Petersen、KDAB;
- グラフィックと3D :
- OpenGLとQt Quick 2アプリケーションの統合、ジュゼッペダンジェロ、KDAB;
- KDABのGiulio Camuffoによるプロセス外のグラフィカルコンテンツのQtQuickシーンへの統合。
- Qt、Andy Nichols、The Qt Companyによるバーチャルリアリティ用のユーザーインターフェイスの作成。
- アプリケーションに生命を吹き込む:Qt 3Dを使用したアニメーション、Sean Harmer、KDAB。
- QtのモダングラフィックスAPI:Vulkanとその友人、Laszlo Agocs、The Qt Company。
- Qt 3DでのEarthレンダリング、Paul Lemire-KDAB。
- Fortune 500企業で使用中のQt、V-Play。
- ランタイムイネーブラとしてのQt 3D、Laszlo Agocs、The Qt Company;
- Qt 3Dの新機能 KDABショーンハーマー;
- Qt 3D Studioを使用した3Dユーザーインターフェイスの作成、Sami Makkonen、The Qt Company;
- 3Dコンテンツとの対話、KDAB、マイククルス 。
- 医療 :
- 医療機器におけるQtの技術概要、Ionut Alexandrescu、The Qt Company;
- 医療IoT用のヒューマンマシンインターフェイスの構築、Jereme Givens-Lamothe、DocBox。
- 医療業界におけるQtの現在と未来、ロジャー・マッツェラ、Qtカンパニー。
- イメージング組織のアーキテクチャ:がんと闘う次のフロンティア、ミシェル・ネダーロフ、QIS;
- マックス・プランク研究所、マティアス・ホーマン、思考とのコミュニケーション。
- テクニカルディープダイブ :
- QObject Deep Dive、Bo Thorsen、Viking Software;
- Qbs-Build State of the Union、Jake Petroules、The Qt Company;
- QtLocation 5.9:傾斜マップからプラグ可能なエンジンまで、パオロアンジェレリ、Qt Company。
- Qt Quick、Shawn Rutledge、The Qt Companyの流体アプリケーション用のポインターハンドラー。
- QStringViews、QStringViews everywhere、Marc Mutz、KDAB;
- Qtでのマルチスレッド-ジュゼッペダンジェロ、KDAB;
- 産業オートメーション :
- QtWebGL、Jesus Fernandez Prieto、Qt Company;
- QtベースのLinuxデバイスの保護、Maciej Halasz、TimeSys。
- QtWayland、Andreas Cord-Landwehr、CLAAS E-Systemsのデバイステーラードコンポジター。
- Practical Qt Lite、FrankMeerkötter、basysKom;
- Qt搭載デバイスのブート時間最適化、S。Agner、R。Avila、Toradex / The Qt Company;
- Microsoftによるモノのインターネットの設計、Sylvain Ekel、Microsoft;
- QtKnx:ホームオートメーション専用の新しいQtモジュール、Qt Company Lucie Gerard。
- Qt and Mqtt、モーリス・カリノフスキー、The Qt Company;
- CoAP標準がどのようにあなたのIoTをQt、Adrien Leravat、Witekioと話すか。
- LPWANは、IoT革命を実現します(ギマシ、マッシモサントリ)。
- ChargePoint EV充電:すべてを支配する1つのUI、Matthew Hungerford、Chargepoint。
- Qt for Automation、LarsKönig、The Qt Company;
- WebOS QtWayland Compositorの紹介、LG Electronics、Florian Haenel。
- 自動車 :
- QtおよびQt Safe Rendererによる機能安全、Tukka Turunen、Qt Company;
- Qt、Krzysztof Krzewniak Vladimir Moolle、ICSを使用したプラグインベースのIVIアーキテクチャ。
- 組み込み、Nazar Babik、Viking SoftwareからのCANバスを介したスレーブデバイスとの通信。
- QtWS17-自動車HMIの創造性と品質を最大化、鈴木博隆、sdtech;
- Mapbox GLとQtLocationによる自動車ナビゲーション、ブルーノデオリベイラアビナダー、Mapbox;
- ローリング組み込みデバイス向けのQML駆動型HMIアーキテクチャ、クリストフスターツ、KDAB;
- GammaRay-Qtアプリケーションの詳細な調査、Volker Krause、KDAB;
- ジェスチャ制御およびボディトラッキングアプリケーション用のQt、Sascha Klement、Gestion;
- ModbusとQt、Morten WinklerJørgensen、Viking Software;
- 車両HMIシステムの未来、田辺貴之、パナソニックITS;
- ショーカーの舞台裏:ラピッドUI / UXプロトタイピング、アレックスヒリガー、ダイムラー。
- 電気自動車の単純な方法での複雑なイベント処理、MügeKural、Eteration;
- QtIVI:車両機能のQt Automotive Suite、KDABとの統合およびテスト。
- 1年のハッキング後のQtオートモーティブスイートの裏側、Johan Thelin、Luxoft。
- デジタルコックピットへのレース-Qt、TeroMarjamäki、Qt Companyで勝利。
ホール中央の展示会では、新しい展開が示されました。
周りには、彼ら自身の何かを見せたパートナーと顧客のスタンドがありました。 たとえば、メルセデスベンツはここでそのようなコンセプトカーを転がしました。
2018年以来、現在いくつかのサミットが開催されており、それらはさまざまな時間にさまざまな場所で開催されます。 今年は、アメリカ(ボストン)とヨーロッパ(ベルリン)の2つがあり、どちらも年末に近づいています。 次に、アジアの国々(おそらく東京)に3分の1を追加する予定です。
Embedded World 2018でのQt
昨年のように、私たちはニュルンベルクのEmbedded Worldにいました。
興味深いデモは次のとおりです。
- AirServer
- QtとJavaFXの比較 。
- オンザフライでのHMI作成 。
- ハードウェアアクセラレーションを使用しないi.MX6 ULLのQt 。
- MCUの実験的なQtポート ( 以下について)。
新機能
商用ライセンスの変更
2018年1月以降、 すべての製品の Qtライセンスは期間ベースのサブスクリプションモデルに切り替わりました。つまり、「ライフタイム」ライセンスを購入できなくなりました。 一般に、以前に毎年(更新とサポートのために)ライセンスを "更新"した人にとっては、実際には既にサブスクリプションモデルであったため、実際には何も変わりませんでした。 しかし、違いがあります:以前はライセンスを更新せず、製品の開発/配布を冷静に続けることができました(ライセンス自体は一生です)が、現在はライセンス契約の条件により禁止されています-有効なサブスクリプションが少なくとも1つ必要です。完成品も販売しません。 これはひねりです!
サブスクリプションライセンスのトピックについてお話したいことを想像します。私自身もさまざまなアプリケーション(たとえばUlyssesなど)の開発者に何度も言ってきましたが、私はそれを思いつきませんでした。ただニュースを配信します。 しかし、一般的に、フレームワークの場合、サブスクリプションライセンスは(テキストエディターのサブスクリプションと比較して)多かれ少なかれ正当化されます。
ポジティブな変更のうち、Device Creationを購入すると、アプリケーション開発ライセンスが含まれるようになりました。 また、以前のRTOS(リアルタイムオペレーティングシステム)には個別の価格がありましたが、現在はすべて含まれています。
これはすべて、新しいライセンス契約( ライセンス契約バージョン4.0に反映されています。 ライセンス契約バージョン4.0は 、アプリケーション開発とデバイス作成の個別の契約に分割されなくなりました。
サイトの変更
Webサイトの「改善」の作業は1分でも止まりません。また、接続されたサードパーティスクリプトのリストの長さはすでに1キロメートルを超えています。 連続してすべてをアニメーション化することにより、ユーザーのプロセッサの使用率を80-90%のレベルで達成し、対応するエネルギー消費を達成することができましたが、今ではこれらすべての美しさを最適化するための英雄的な闘争があるため、訪問者は気づきませんでした
サイトの一部のセクションがwww
サブドメインにあり、一部がwww1
にある理由をwww1
場合は、サイトが2つの異なるCMSを使用しているためです。 まあ、そのようなので。
2017年5月のどこかで、別の効果的なマネージャーが、オープンソースのダウンロードを地獄に隠し、Buy Qtボタンを追加することを決定しました(「ライセンスを購入」)。 彼らはそれを非常によく隠したので、「 なぜオープンソースを削除したのですか?! 」 幸いなことに、オープンソースコミュニティと社内の両方から批判があり、約6か月後にこの変更が修正され、すべてがほぼそのまま返されました。
新しいセクション-Qt Resource Centerが登場しました。これは、カテゴリと検索に分割されたさまざまなリソース(記事、ビデオ、「サクセスストーリー」など)のアグリゲータです。 これで、たとえば、公式アカウントのすべてのツイートを一度に取得できます(ただし、理由) 。
リリース
Qt 5.9
2017年5月31日にはQt 5.9がリリースされました 。 彼はLTSのQt 5.6リリース後の次の人です-長期サポート(3年)。
OpenNETの記事にはすでに素晴らしい概要があります。
ちなみに、これはQt 4.7以降3回以上のマイナーリリース(現在のバージョン5.9.5)がリリースされた最初のリリースのようです。
また、このバージョン以降、マイナーリリースでは現在のバージョンが再度更新されることはなく、個別にインストールされます。
Qt 5.10
2017年12月7日に、Qt 5.10がリリースされました 。
繰り返しになりますが、 OpenNETに関する記事のリリースの素晴らしいレビューです。
アドオン
通常の(基本)ライセンス(アプリケーション開発およびデバイス作成)に加えて、「アドオン」が表示されます。 一般的に、彼らはアドオン/プラグインストア(公式のqpmなど)のようなことをしたかったのですが、インストーラーに追加されるだけなので、それ以上のアイデアはありませんでした。
前の記事のスキームを基礎としてとると、新しいスキームは次のようになります。
すでに複雑なライセンス構造はさらに複雑になっています。 すべてを簡単に説明しようとすると、アドオンは「標準」ライセンスに含まれず、追加料金で販売されます。 誰もが商用ライセンスについて読むことに興味があるわけではないことを考慮して、私は詳細には説明しません(さらに、営業部門にも働きかける必要があります)。
オープンソースでQtを使用する場合、何も変わっていません-新しいライブラリとツールを追加しただけです。
Qt for Automation
Qt for Automationは、 2017年8月に発表された最初のアドオンです。 これは、いわゆるIndustry 4.0およびM2Mのソリューションを構築するためのライブラリのパッケージです。
現在(Qt 5.10)アドオンには以下が含まれています:
Qt 5.11では、 OPC UAが表示され、次にCoAPなどが表示されます。 ライブラリ自体に加えて、インストール/構成/トレーニング用のサービスのパッケージも提供されます。
Qt for Medical
これまでの実際の製品/アドオンよりもプロモーション 。 それで、もちろん、たとえばDICOM形式での作業など、医療業界固有の機能を追加する予定です(ただし、この形式には特にサードパーティの実装が既にあります)。
実際、医療関連のプロジェクトでは、認証は機能よりも重要であるため、 AdvaMed 、 Qmed 、 MassMEDICなどの協会および提携の一部になりました 。 私はこの業界からは程遠いので、これらの提携に参加することの本当の利点については何も言えません。
Qt 3D Studio
2017年10月に、Qt 3D Studioのソースコードがついに公開されました ( OpenNETの記事 )。 なぜ彼らはNvidiaからそれらを受け取った直後にそれを公開しなかったのですか-すべてがMFCに書き込まれ、最初にQtに移植することに決めたからです。
ソースコードの公開から1か月後に、バージョン1.0もリリースされました 。 Nvidiaの作成には独自の3Dエンジンを使用しますが、既存のQt 3Dに転送する作業はほぼ完了しています(エンジンを作成するのに十分なため)。
Qt 3D Studioとそのランタイムは、商用ライセンスとGPLv3(LGPLv3ではない)の両方で利用できます。 スタジオ自体は無料ですが、そのランタイムを商用アプリケーションで使用すると、配布ライセンス(存在する場合)のコストが増加します。
Qt Design Studio
一般に、これはまだ半秘密のプロジェクトですが、 このビデオは公式チャンネルで公開されているため、あまり秘密ではありません。
しかし、念のため、特別な詳細はありません。 近いうちに、公式発表(2週間後?)と最初のパブリックベータ(6月?)が行われます。
Qt Safeレンダラー
Qt Safe Rendererは、認定済み(IEC 61508および派生機能安全規格)のグラフィックレンダラーです。 実際、メインアプリケーションに関係なく重要なGUI要素をレンダリングするスタンドアロンアプリケーション。 メインアプリケーションが「死んだ」場合、これらの要素は引き続き画面に表示されます。
明らかな用途:自動車および医療産業、主な用途が200 km / hの速度で凍結したり、外科手術中に凍結したりすると、マイナスの結果を招きます。
デジタルインストルメントクラスター(ダッシュボード)で車を使用する例:
興味があれば、QNXを実行しているハードウェアの実例を使用した別の記事を書くことができます(記事の最後に調査があります)。 しかし、Safe Rendererはオープンソースにはならず、お金(そして非常に大きなもの)でのみ利用可能になるとすぐに言いたいと思います。
ロードマップ
- PySide Coming Soon -PythonのQtを使用。
- Qtクイックポインターハンドラー -「より良い」マルチタッチで、一般的にタッチスクリーンで動作します。
- Qt for WebAssembly-ブラウザーでQtアプリケーションを起動します(
理由を説明できる理由がわかりません)。 - 処理(新しいコンパイラパイプライン)QMLエンジン。
- KTX形式のサポート 。
- Qt 5.11は2018年5〜6月に予定されています(RC-リリース候補は既にリリースされています)。
- 次のLTSリリースはQt 5.12(2018年秋に予定)です。 最小限の新機能、信頼性とパフォーマンスに焦点を当てます。
- Qt 6は約2年で大いに期待されています。
マイクロコントローラー(MCU)上のQt
Qtを使用して、マイクロコントローラーでソフトウェア、特にGUIを開発できるかどうかをよく尋ねられます。
そこで、QtをRTEMSリアルタイムオペレーティングシステムに移植し、STM32F469、STM32F746、およびSTM32F769マイクロコントローラーで起動するためにQtアセンブリを最適化することで終わる調査を実施しました。
公式ブログへの投稿は最近研究の結果について公開されましたが、この投稿の元は実際にロシア語で書かれていたため、最小限の労力でHabréに公開できます(この記事の最後に調査もあります)。
顧客からのフィードバックのコレクションがあり、どこで何を移植したいのか、そして希望に基づいて、さらなる開発が計画されます。
仕事
今年は過去ほど多くの空席はありませんが、新しい従業員の検索は継続しています。 それで、もし何か興味があれば、あなたは私に手紙を書くことができます。
たとえば、1年半以上(真剣に) セールスエンジニアがベルリンオフィスで募集されています -これはQtを理解し、同時に人々(顧客)と会話し、技術的な質問に答えることができる人です。 私たちが誰かを連れて行けば、 私たちはどんな候補者にも喜んでくれることを見つけるために、すでにとても必死です。 ちなみに、これはトラクターを起動するのに悪い方法ではありませんが、おそらく言うべきではありません。 ベルリンに位置しているため、ドイツ語の知識も非常に望ましいという事実により、欠員は複雑です。
2017年には、約130人が雇用されました。 人々は地球のすべての(ロシア語を含む)部分から来ており、人種的/宗教的/性別選好/偏見はありません(フィンランド人だけが効果的なマネージャー(ジョーク)の位置に連れて行かれていることを除いて)
おわりに
あなたが何かについてもっと知りたいなら、コメントを書いて、私は自分自身に答えるか、知っている人から見つけようとします。
補足#1-Qt Quick Compilerについて
最初は、Qt 5.8のリリースでQt Quick Compiler をオープンソースに提供することを約束しました。 確かに、「 ... Qt Quick Compilerの機能を統合する 」、つまり、Qt Quick Compiler自体ではなく、その機能のみであるということです。 将来を見据えて、これは同時にそうではありません。
Qt 5.8はQMLキャッシングメカニズムを導入しました。これはQt Quick Compilerの「置換」として発表されました。 Qt Quick Compiler自体はどこにも行かず、リリース5.8、5.9、および5.10の両方で商用ライセンスの所有者が利用できました。 5.11では、状況が変わります。詳細は以下のとおりです。
QMLキャッシングがQt Quick Compilerの代替と呼ばれるのはなぜですか? バイトコードを生成してキャッシュファイル(QMLの場合は.jsc
、JavaScriptの場合は.jsc
)に入れ、このバイトコードはQtが生成した中間(中間/型なし)C ++コードよりも「生産的」であることが判明したためクイックコンパイラ。 そのため、QMLキャッシングは、実際には「古い」Qt Quick Compilerに代わる(そして優れた)ものです。
次に、オープンソースについて。 Qt Quick Compilerのソースコードは公開されません。管理者がこの場合、人々はこのバージョンをQtの古いバージョンに移植できると判断したためです。
Qt Quick Compilerを「古い」と呼び、一般的に過去形を使用したのはなぜですか? QML / JSからのC ++コードのジェネレーターとして存在しなくなるため、Qt 5.11では、商用ライセンスの所有者だけでなく、まずすべてのユーザーが利用できるようになり、次に、その実装が現在のものと大きく異なります。 C ++コードは生成されなくなりますが、QMLキャッシングと同じバイトコードが生成されます。
「新しい」Qt Quick CompilerとQMLキャッシングは、同じバイトコードを提供するので、違いは何ですか? リリース5.11のドキュメントを簡単に説明すると、「新しい」Qt Quick Compilerは、QMLキャッシングにはない次の機能を提供します。
- QMLの最初の「キャッシング」は、アプリケーションの最初の起動ではなく、追加のコンパイルステップとしてのアプリケーションのビルド中に発生します。 つまり、アプリケーションの最初の起動はすでに「最適化」されています。
- このため、QML構文エラーはアプリケーションのビルド中にすでにキャッチされ、ランタイムでは取得できません。
- アプリケーションファイルの中で、オープンテキストQMLは散らばることはありません。これは、弱いものの、依然としてアプリケーションのセキュリティに貢献します。
簡単に言えば、この「新しい」Qt Quick Compilerは「古い」機能を繰り返します。
それに応じて、QMLキャッシングとQt Quick Compilerの両方を使用することは意味がありません。 より正確には、これらは相互に排他的であるため、これは機能しません。 QMLキャッシングは暗黙的に動作し、Qt Quick Compilerを明示的に有効にする必要があります。その結果、キャッシングメカニズムは単純に「オフ」になります(論理的です)。 ちなみに、当然のことながら、本質的には両方のメカニズムが同じことを行うため、2つの間にパフォーマンスの違いはありません。
Qt Quick Compilerを常に使用しないのはなぜですか。QMLキャッシングのポイントは何ですか? ドキュメントに示されているように、Qt Quick Compilerにはいくつかの制限があり、すべてのプロジェクトに適さない場合があります。一部のプロジェクトは1つのメカニズムに依存し、一部は別のメカニズムを使用できるためです。
もう1つの違いは、「古い」Qtクイックコンパイラを使用するとJITを使用できなかった場合(その作業の結果はC ++コードであったため(2番目のボトムもあります))、「新しい」QtクイックコンパイラとQMLキャッシングが使用できることですまた、特に要求されるコードフラグメントのJIT。 要するに、Qt 5.11より前は、JITはすでに「コンパイルされた」QMLの上に何も与えていませんでしたが、5.11からはそうなります。
ところで、私たちはこのトピックに関する記事を準備しているだけであることが判明したので、 公式ブログで (RSSがありますが)すぐに何が起こっているのかについてより有能で正しい説明を読むことができます。
Qt Quick Controls 2のプロiOSスタイル
そのため、スタイルは2016年2月にほぼ準備が整いました。
しかし、このリリースは、法的な理由を含む多くの理由で得られませんでした。
Appleは、「ネイティブ」に見えないアプリケーションに絶対に反対していません。つまり、あらゆる種類の狂気を作成でき、すべてがうまくいきます(ユーザーからの星の数を除く)。 しかし、「ネイティブな」iOSスタイルになるとすぐに、すべてが完璧に見え、ガイドラインに厳密に対応するはずです。
マテリアル(Android)スタイルとユニバーサル(Windows)スタイルのデザイン/ガイドラインは共有されているだけでなく(特定のプラットフォームに限定されません)、GoogleとMicrosoftは対照的に、すべてのプラットフォームにデザインを広めることを強く推奨します、モバイルだけでなく、競合プラットフォームを含むウェブを備えたデスクトップも含まれます。 これはすべて、iOSについては言えません。
したがって、iOSスタイルを「再作成」しようとする試みは、元のスタイルの模倣と模倣に過ぎません。 「ルックアンドフィール」といえば、「ルック」部分はすでに再現するのに十分困難ですが、「フィール」部分は一般に非現実的です。 つまり、GUIは「ネイティブ」に見える可能性がありますが、最初のスワイプ/スクロール/ピンチでは「偽」が表示されます。
また、調査の結果、これは法的問題に満ちていることが判明しました-「ネイティブ」iOSスタイルにスタイルを与えると、Appleは不快なことを言うかもしれません。 さらに、UXガイドラインに準拠していないため、お客様のアプリケーションがApp Storeへのアクセスを拒否される場合があります。
さらに、別の興味深い点が浮上しました。 もちろん、iOSスタイルの実装は、実際にはクロスプラットフォームフレームワークであるQtを削減しているため、iPhone / iPadクローンの中国の「プロデューサー」は、バケツ作成でスタイルを使用できるようになります。 正直なところ、なぜこれが私たちに関係するのか理解できませんが、それでもこれは問題だと言われました。
このプロジェクトは優れたソリューションになる可能性があります。以前の記事で既に言及しました。 要するに、これはQML(または、もしお望みならC ++)を介した(「再作成された」スタイルではなく)本当に「ネイティブ」なGUIプラットフォームの使用です。 しかし、内部トラッカーで見ると、このタスクの最後のアクティビティは2017年10月で、それ以来沈黙が続いています。
V-Playが提供するものについて。 私は正直に知りません、そして、チームも答えませんでした。 しかし、上記を考慮すると、2つのオプションがあります。
- 彼らはiOSスタイルの復元とリバースエンジニアリングの道を歩み、彼らが提供するのは単なるレプリカであり、それに応じて彼らまたは顧客は潜在的にAppleからの問題を期待することができます。 私は、V-Playを非難しているのではなく、単なる仮定を立てていることを考慮してください。
- 前の段落で述べたプロジェクトを実装しました-つまり、QMLラッパーを介して実際のiOS GUIで動作します。
V-Playに連絡して、自分で質問してみてください。 しかし、彼らはそのような情報を共有したくないかもしれません。