MS_VSToolsForApacheCordova - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

Visual Studio Tools for Apache Cordova

抂芁

  • Android、iOS そしお Windows アプリの開発に察応
  • Cordova CLI をブラックボックス化しおいるが、Cordova CLI に远随できおいない。
  • ≒ メンテナンス・フェヌズCordova Tools Extension に
    移行すべき。

補足その埌完党に廃止された: 「メンテナンス・フェヌズ」ずいう
芋立おは正しく、補品自䜓が提䟛終了ずなった。

【廃止たでの経緯】★
   2015  Visual Studio 2015 に暙準バンドル
   2017  VS 2017 でも提䟛ワヌクロヌドずしお遞択
   2019  【VS 2019 では提䟛されない】★
         → Microsoft は
           「VS Code + Cordova Tools を䜿え」ず案内
   2020  taco.visualstudio.com公匏サむトが閉鎖

【廃止の理由本ペヌゞの指摘どおり】
   ・「Cordova CLI をブラックボックス化しおいるが、
     Cordova CLI に远随できおいない」★
     → これがたさに臎呜傷になった
     → ラッパヌは【本䜓の進化に远随し続ける矩務】を負う
     → 远随できなくなった時点で
       「䜿いにくい叀い CLI」になっおしたう

【䞀般化できる教蚓】★
   ・ツヌルが䞋䜍レむダを隠す堎合、
     【隠したものを保守し続ける芚悟】が芁る
   ・隠さない蚭蚈薄いラッパヌ、玠の CLI も芋えるなら
     本䜓が進化しおも壊れにくい
     → [開発支揎ツヌル](MS_DevelopmentSupportTools) の
       「ツヌルぱンゞニアリングを補完する」議論ず同じ

むンストヌル

抂芁

  • Visual Studio 2015 から Visual Studio 本䜓のむンストヌラヌに暙準バンドル

  • デフォルトでは組み蟌たれないため、むンストヌル時に、
    [HTML/JavaScript (Apache Cordova) xxxx] チェックボックスを ON にする。

  • Node.js や Java JDK、Android SDK、゚ミュレヌタなど同時にむンストヌルされる。

問題

幟぀かのプロダクトはむンストヌルされるが、以䞋の問題がある。

  • 必芁なディスク容量が倚い。

  • Visual Studio Emulator for Android
    Androidのデバッグの該圓節を参照の制限がある。

  • バヌゞョンが叀い

C:\Users\xxxx>node -v
v0.12.2
C:\Users\xxxx>npm -v
2.7.4
  • ゚ラヌが起きる
C:\Users\xxxx>cordova -v
C:\Users\xxxx\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\init-package-json\node_modules\read-package-json\node_modules\json-parse-better-errors\index.js:9
SyntaxError: Use of const in strict mode.
  • ナヌザヌ環境倉数の蚭定などは別途行う必芁がある。

補足この゚ラヌの意味: 蚘録されおいる゚ラヌは、
「同梱ツヌルの叀さ」がどう衚面化するかの兞型䟋である。

【SyntaxError: Use of const in strict mode.】★
   ・Node.js 【v0.12】は
     strict モヌド倖での const / let をサポヌトしない
     ES6 察応が䞍完党な䞖代
   ・䞀方、埌から npm install した
     新しいパッケヌゞjson-parse-better-errors 等は
     【ES6 構文で曞かれおいる】
   → 【叀いランタむム × 新しい䟝存パッケヌゞ】
     ずいう組み合わせで構文゚ラヌになる

【なぜ起きたか】
   ・VS が同梱した Node.js は
     むンストヌル時点で固定される
   ・npm のパッケヌゞは【垞に最新が降っおくる】
   → 時間が経぀ほど乖離が広がる ★

【回避策圓時】
   ・別途、新しい Node.js を入れお
     【PATH の優先順䜍を倉える】
   ・VS の蚭定で
     「グロヌバルの Node.js / Cordova CLI を䜿う」に切り替える

【珟圚の䞀般解】★
   ・【nvm-windows / fnm】で Node のバヌゞョンを切り替える
   ・プロゞェクトに【.nvmrc】を眮いお版を固定する
   ・package.json の engines で芁求版を明瀺する
   ・【コンテナ】でビルド環境ごず固定する ★★
     → 「同梱ツヌルが叀い」問題が原理的に起きない

開発

プロゞェクト・テンプレヌトの遞択

  • メニュヌ ---> ファむル ---> 新芏䜜成 ---> プロゞェクト
  • テンプレヌト ---> JavaScript ---> Apache Cordova Apps
    から、[空のアプリ(Apache Cordova)] を遞択する。

プロゞェクトのデバッグ実行

  • 暙準のツヌルバヌにある、デバッグ ---> Android ---> Ripple - Nexus (Galaxy) を抌䞋。

  • Ripple ゚ミュレヌタヌ通信甚にファむアりォヌル蚭定倉曎ダむアログでこれを蚱可。

  • Google Chrome 䞊の Ripple ゚ミュレヌタヌでアプリケヌションが実行される。

  • 補足

    • その他の゚ミュレヌタや、実機を䜿甚しおデバッグするには
      Androidのデバッグを参照。
    • なお、VS2017 からは、VS2017 で定矩した゚ミュレヌタヌむメヌゞのみに察応。
      AVD Manager で定矩した゚ミュレヌタヌむメヌゞぞのデプロむは察応しおいない。

補足Ripple ゚ミュレヌタヌに぀いお: 説明なく出おくるため補っおおく。

【Apache Ripple】★
   ・Chrome 䞊で動く【Cordova アプリのシミュレヌタ】
     → 実機や゚ミュレヌタを起動せずに
       ブラりザ内で動䜜確認できる
     → デバむス サむズ、GPS、加速床センサ等を
       擬䌌的に蚭定できる
   ・実䜓は Chrome 拡匵Node のサヌバ

   ・【2015幎に Apache Incubator を退出retired】★
     → 以降、開発は行われおいない
     → 新しい Chrome では動䜜しない

【珟圚の代替】★
   ・Chrome DevTools の【デバむス モヌド】
     → レスポンシブ確認は暙準機胜で足りる
   ・【cordova-simulate】Cordova Tools 拡匵が䜿甚
     → プラグむン API のモックたで行える ★
   ・実機の【リモヌト デバッグ】
     → Android: chrome://inspect
     → iOS: Safari の Web むンスペクタ
     → 【最も確実】。珟圚はこれが基本 ★

Cordovaプラグむンの远加

  • GUI でむンストヌル可胜。
  • config.xml ファむルをダブルクリックするず、コンフィギュレヌションデザむナヌが
    開くので、゜コで蚭定
    [プラグむン] タブ ---> [コア] タブ ---> プラグむン遞択 ---> [远加] をクリック。
  • config.xml ファむルを盎接線集しなければならないこずもある
    バヌゞョン情報を倉曎する堎合など。

デプロむ

Android

Visual StudioApache Cordova の該圓節を参照。

iOS

Visual StudioApache Cordova の該圓節を参照。

付属の vs-mda-remote を Mac OS X 䞊にむンストヌルしおリモヌトデバッグ可胜。

補足vs-mda-remote ずいう発想: この「リモヌト ゚ヌゞェント」方匏は、
珟圚も圢を倉えお生きおいる。

【なぜ必芁か】★
   ・iOS アプリのビルド・眲名には
     【Xcode macOSが必須】
   ・Windows の Visual Studio からは盎接できない
   → Mac 偎に゚ヌゞェントを垞駐させ、
     ゜ヌスを転送しおビルドさせ、
     結果を受け取る

【同じ発想の埌継】
   ・【Pair to Mac】Xamarin / .NET MAUI★
     → 珟圚も䜿われおいる
     → Windows の VS から Mac に SSH で接続し、
       ビルドず実機デプロむを行う
   ・【クラりド ビルド】★★
     → GitHub Actions の macOS ランナヌ
     → Codemagic / Bitrise / Xcode Cloud
     → 【Mac を自前で持たなくおよい】
     → 珟圚の䞻流

【倉わっおいないこず】
   ・Apple のツヌルチェヌンが
     【macOS でしか動かない】ずいう制玄 ★
   → クロスプラットフォヌム開発における
     恒久的な制玄であり、
     本ペヌゞ執筆時から䞀貫しおいる

参考

microsoft.com

Project_Readme.html

msdn.microsoft.com

support.microsoft.com

IT

移行メモリンクの重耇: IT の連茉の第 2 回ず第 3 回が
同䞀の URL1603/29/news032.htmlになっおいる。
第 3 回2016/05/20 公開の URL ずしおは誀りず思われるが、
正しい URL を特定できないため移行元のたた残した。

その他

移行メモリンク切れ: 本ペヌゞの参考リンクは
倧半が到達しないず考えられる。

  • msdn.microsoft.com 
 Microsoft Learn ぞ統合VS TACO の蚘事は
    補品廃止に䌎い削陀されたものが倚い
  • blogs.msdn.microsoft.com 
 2019〜2020 幎にアヌカむブぞ移行
  • microsoft.com/ja-jp/dev/campaign/vs-cordova.aspx 
 キャンペヌン ペヌゞは撀去
  • go.microsoft.com/fwlink/?LinkId=... 
 リダむレクト先が倱われおいる
  • azure.microsoft.com/documentation/articles/... 
 珟圚の Learn の URL 䜓系ず異なる
  • codeiq.jp 
 CodeIQ は 2018 幎にサヌビス終了

蚘録ずしお残す。


Tags: 移行, .NET開発, モバむル系開発

⚠ **GitHub.com Fallback** ⚠