Vueに関するcarolina04のブックマーク (19)

  • React HooksとVue Composition APIの比較

    概要 Vueの作者であるEvan You氏は、Vueのデフォルトバージョンが2022年2月7日以降3.x系に切り替わる事を開発者ブログにおいて発表しました。 それに伴い、Vue2.x系の最後のマイナーバージョンであるVue2.7が2022年7月1日にリリースされ、こちらの LTS (long-term support)はリリースから18ヶ月であることから、Vue2.x系へのサポートは2023年12月を持って完全に打ち切られる事となりました。 以下の記事でも語られている通りVue2とVue3では破壊的変更が多く、移行コストが格段に高いことから、多くの開発チームがVue3.x系への移行を頑張るかReact等の他のフレームワークへの乗り換えをするかの選択を迫られています。 3.x系へ移行すべきかフレームワークを乗り換えるべきかの是非についてはこの記事では触れませんが、Vueの破壊的変更に伴って多

    React HooksとVue Composition APIの比較
    carolina04
    carolina04 2024/05/11
    React HooksとComposition APIは根本的に全く異なるAPIであり、筆者もそれに同意します。 その最大の相違点は、状態をMutableに管理するかImmutableに管理するか、という点です。
  • VueFes Japan 2023イベントレポート | gihyo.jp

    10月28日に開催された「VueFes Japan 2023」のイベントレポートをダイジェストでお届けします。 なお、公式サイトのタイムテーブル内に、一部の講演の資料がアップロードされています。 オープニング 実行委員長・ユーザーグループ代表の川口和也氏から、挨拶がありました。 今回は4トラックでスピーカーは35名、コアチームの来日など充実した内容になっています。またオフラインでの開催は5年ぶりです(台風やコロナの影響で、2018年以来です⁠)⁠。 川口氏は、フェイス・トゥ・フェイスで開催できる嬉しさやスポンサーへの感謝を述べました。 Evan You氏によるキーノート 基調講演はVue.jsの作者であるEvan You氏。広い会場で立ち見もでるほどの盛況でした。Evan You氏は、台風やコロナで日に来れなかったため、久々の来日とのことです。 Evan You氏はVue.jsとVite

    VueFes Japan 2023イベントレポート | gihyo.jp
  • 機能開発を止めずに、500コンポーネント規模の Vue 3 移行を完了させた開発プロセス

    スタディスト 技術支援ユニットの笹木 (@s_sasaki_0529) です。 2022年上半期、およそ500コンポーネントを持つ Vue 2 プロダクトである Teachme Biz を、半年間に渡る単独作業を経て、 Vue 3 に移行することに成功しました。 記事では、私達がどのようにして、機能開発は止めずにバージョンアップや破壊的変更への対応を行えたのかを簡単に振り返ろうと思います。 昨年の TypeScript 移行の次のステップとして、今年は Vue 3 移行を実現することにより、相乗効果でのフロントエンド開発体験の向上を実現しました。 モチベーションTeachme Biz をVue 3 に移行するモチベーションは概ね以下になります。 モダンブラウザに合わせてリアーキテクチャリングされた Vue 3 の恩恵を受けることVue 2 への機能追加・改修が 2.7 で終了してしまった

    機能開発を止めずに、500コンポーネント規模の Vue 3 移行を完了させた開発プロセス
    carolina04
    carolina04 2023/12/08
    “Vue 3 での破壊的変更には、Vue 2 時点で非推奨だったものが Vue 3 で廃止されるというパターンがいくつかあります。 その場合は、Vue 2 の時点で先に非推奨コードを置き換えてリリースしておくことで、小さく Pull Request (”
  • Vue2系からVue3系に移行しました〜! - Link and Motivation Developers' Blog

    こんにちは!リンクアンドモチベーションでフロントエンドの開発をしています。岡田(@okadaike)です。 日は弊社プロダクトのストレッチクラウドのVueのversionを2系から3系にmigrationしたので、そのご報告になります!! 今回はプロダクトチームの中で色々と試行錯誤して進めました!ストレッチクラウドはSPAが3つあるような構成になっており、今回はそのうちの一つを移行しました!。 最後に残りの2つの移行計画もまとめようと思います! Vue2は2023年末にEOLを迎えるのでこれからどんどん移行していくことになると思いますが誰かの役にたてればなと思います! ※余談ですが先日Vue.js v-tokyo meetup#16に参加してきました。その中で世界のアクティブVueユーザーの内6~7割はVue2を利用していると伺いました。 今年のこれからはVueのmigration祭りに

    Vue2系からVue3系に移行しました〜! - Link and Motivation Developers' Blog
  • コンポーネントのイベント | Vue.js

    コンポーネントのイベント ​このページは、すでにコンポーネントの基礎を読んでいることを前提にしています。初めてコンポーネントに触れる方は、まずそちらをお読みください。

    コンポーネントのイベント | Vue.js
    carolina04
    carolina04 2023/11/30
    “props 名の大文字・小文字の使い分けと同様に、テンプレートではケバブケースのイベントリスナーを使用することをお勧めします。”
  • Vue.js

    VueConf US - Join the official Vue.js conference | May 15-17, 2024 - New Orleans, USARegister Now Use code VUEJSDOCS to get $100 off!

    Vue.js
    carolina04
    carolina04 2023/11/29
    技術的には、子コンポーネントに props を渡すときにも camelCase を用いることができます(ただし DOM 内テンプレート内を除く)。しかし、常に kebab-case(ケバブケース)を用いて HTML の属性に揃える、以下のような表記が慣
  • Vue 2 から 3 へ移行しようとしたらいちばん大変なのが Vuetify 2 から 3 への移行だった話 - spacelyのブログ

    はじめに 株式会社スペースリー フロントエンドエンジニアの宮坂と申します。 ふだんは3Dビューアやその編集画面のDOM部分をReactVueで書きつつ、たまにフロントエンド開発環境構築おじさんとして他チームへ出しゃばったりして生きています。 今回はその環境構築に関わるところ、Vue 2 から 3 へ移行しようとしたらいちばん大変なのが Vuetify 2 から 3 への移行だった話を書きます。 レガシーを生かしつつアップグレードする苦労話としてニッチに刺されば幸いです。 経緯と背景 Vue 2 のEOLまで1年を切って スペースリーはサービスインから6年以上経つこともあり、技術スタックはプロジェクトによって新しいものもあれば、今となっては古いものもあります。 リリースから日が浅いパノラマ変換3Dプレイヤーは2023年6月時点でエンドユーザー向けの部分がReact 18で、事業者向けの部分

    Vue 2 から 3 へ移行しようとしたらいちばん大変なのが Vuetify 2 から 3 への移行だった話 - spacelyのブログ
    carolina04
    carolina04 2023/11/29
    有料でNever-Ending Supportを受けられます。 しかし今回はこれを選択しませんでした。Vue 2本体のサポートを受けられても、Vue 2に依存するライブラリのサポートまでは受けられないから
  • ライフサイクルフック | Vue.js

    ライフサイクルフック ​各 Vue コンポーネントインスタンスは、生成時に一連の初期化を行います - 例えば、データ監視のセットアップ、テンプレートのコンパイル、インスタンスの DOM へのマウント、データ変更時の DOM の更新が必要になります。その過程で、ライフサイクルフックと呼ばれる関数も実行され、ユーザーは特定の段階で独自のコードを追加することが可能です。 ライフサイクルフックの登録 ​例えば、onMountedmounted フックは、コンポーネントが最初のレンダリングを終了し DOM ノードを生成した後に、コードを実行するのに使用することができます: vue<script setup> import { onMounted } from 'vue' onMounted(() => { console.log(`コンポーネントがマウントされました。`) }) </script>

    ライフサイクルフック | Vue.js
    carolina04
    carolina04 2023/11/28
    “ライフサイクルダイアグラム”
  • 【INVOY】顧客情報流出に関するご報告とお詫び(続報3 再発防止策について) | OLTA株式会社

    平素よりOLTAおよびFINUX(INVOY)のサービスをご利用いただき誠にありがとうございます。 2023年11月7日(火)に判明した、弊社関連会社(FINUX)が提供するクラウド請求書プラットフォーム「INVOY」において特定の条件に該当した一部のユーザー様の顧客情報が他のINVOYユーザー様から閲覧できる状態になっていた事象について、恒久対応が完了しましたので再発防止策とあわせてご報告いたします。 事象の解消に向けて2023年11月7日(火)18時10分より緊急メンテナンスのためサービスを一時停止しておりましたが、2023年11月8日(水)2時58分に復旧し、現在は通常通りご利用いただけます。 なお、他ユーザー様が閲覧できる状態にあった可能性がある情報は、ご登録のメールアドレス、ユーザー名、ユーザーの種別と権限(管理者か否か)であり、第一報よりお伝えの通り、クレジットカード情報など

    【INVOY】顧客情報流出に関するご報告とお詫び(続報3 再発防止策について) | OLTA株式会社
  • Nuxt 3ではじめるテスト導入戦略と初手

    話者の所属する hacomono はここ数年でぐっとお客様も増え、それに比例して品質に対する期待値も高まっています。 一方で、製品にはテスト基盤が薄く、リグレッションやリファクタリングできないといった課題が強く意識されるようになりました。 セッションでは、テスト導入に向けた戦略やそのために行ってきた準備と、その結果をお話できればと思います。 株式会社 hacomono プロダクト開発部 POS グループ 野崎 才門

    Nuxt 3ではじめるテスト導入戦略と初手
  • Nuxt 3 + TypeScript で状態管理(useState編)

    2022年11月16日 Nuxt 3.0.0 (stable) がリリースされました(日時間11/17) Announcing 3.0 • Nuxt この記事はベータリリース時に初稿を公開しましたが、リリース版に対応するため加筆修正しています。 Nuxt 3 の useState を使った State 管理(状態管理)の記事です。 Nuxt 3 では Vuex がサポートされていません。 Vue 3 に対応した Vuex 5.x がリリースされるのを待たずとも Nuxt 3 にもいち早く対応した Pinia を使って State 管理をすることは可能です。 しかし、それほど大規模なアプリケーションでなければ useState と Composables (Composition Function) を組み合わせることで非常に簡単に State 管理をすることが可能になります。 Pini

    Nuxt 3 + TypeScript で状態管理(useState編)
  • Vue.js

    VueConf US - Join the official Vue.js conference | May 15-17, 2024 - New Orleans, USARegister Now Use code VUEJSDOCS to get $100 off!

    Vue.js
    carolina04
    carolina04 2023/10/23
    “とても頻繁に何かを切り替える必要があれば v-show を選び、条件が実行時に変更することがほとんどない場合は、v-if を選びます。”
  • 【Vue.js】ref と reactive どっちを使う?

    Vue.js の Composition API が登場してから 1 年少しが経過しており、すでに使いこなしている方もいらっしゃるのではないでしょう? 私自身お仕事で Composition API を使用しており、従来の Options API と比較して UI とロジックの分解がよりやりやすくなったように思えます。リアクティブなデータをコンポーネントの外で定義できるようになったことで、1 つのコンポーネントにまとめて書かざるをえなかった論理的な関心事に分けてそれぞれ別のファイルで定義できます。 書き心地としては React のカスタムフックに近い感じとなっていますね。 個人的には React がクラスコンポーネントから関数コンポーネント + Hook へ移行したように、Vue.js においても Composition API へ移行する流れが来るのではないかと思います。 さて、そんな

    【Vue.js】ref と reactive どっちを使う?
    carolina04
    carolina04 2023/10/22
    “reactive の大きなデメリットの 1 つとして分割代入するとリアクティブ性が失われる点。分割代入して count を表示しようとすると予想に反して描画は変更されません。コンポーネント内では常に ref を使用する”
  • Vue.js

    的な例 ​テンプレート内に式を書けるのはとても便利ですが、非常に簡単な操作しかできません。テンプレート内に多くのロジックを詰め込むと、コードが肥大化し、メンテナンスが難しくなります。例えば、配列が入れ子になっているオブジェクトがあった場合: jsexport default { data() { return { author: { name: 'John Doe', books: [ 'Vue 2 - Advanced Guide', 'Vue 3 - Basic Guide', 'Vue 4 - The Mystery' ] } } } } jsconst author = reactive({ name: 'John Doe', books: [ 'Vue 2 - Advanced Guide', 'Vue 3 - Basic Guide', 'Vue 4 - The Myste

    Vue.js
    carolina04
    carolina04 2023/10/21
    “リアクティブなデータを含む複雑なロジックには算出プロパティを使用すべき”
  • Scoped CSSにおけるCSS設計手法 - ICS MEDIA

    Vue.jsでCSSを利用する際にScoped CSSCSS Modules、CSS-in-JSなどの手法があります。とくにScoped CSSは気軽に利用できるため、利用する機会も多くなって来るかと思います。 Scoped CSSがあればCSS設計を使わなくてもよいという意見もありますがはたして当なのでしょうか? ICSではScoped CSSにおけるCSS設計に関する議論が活発におこなわれており、記事では私たちが考えた方式を紹介します。記事はVue.jsのSFC(シングル・ファイル・コンポーネント)でScoped CSSを利用しているものを想定しています。 CSS設計とは 基的にCSSは常にすべてのページで読み込まれ、増えれば増えるほど相互に上書きし合う状態が起きやすく、他の言語に比べてかなり壊れやすい言語と言えます。 そこで登場するのがCSS設計です。BEMやSMACSS、

    Scoped CSSにおけるCSS設計手法 - ICS MEDIA
    carolina04
    carolina04 2023/10/15
    “Scoped CSSになったことによりCSS設計を辞めるという選択をしたとしても、ある程度のルールがないとCSSはどんどんとカオスになっていきます”
  • MVVMパターンをVue.jsのコードから理解してみる。 - Qiita

    MVVMパターンでは、ViewModelとViewはデータのやりとりを行なっているのではなく、データバインディングが行われている。 そのため、ViewModelで値が変更されると、自動的にViewでの表示も変わる。 (出典) Vue.jsで実現するMVVMパターン Fluxアーキテクチャとの距離 さて、抽象概念の次は具体的なコードを考えてみよう。 vue.jsのコードとMVVMの対応 サンプルアプリの解説 The Movie Database(TMDB)のapiにアクセスし、タイトルから映画を検索し、気に入った映画をお気に入り登録することができるSPA。 フォルダ階層 ちなみに、実際にはviewが複数存在しているため、各ViewModelから別のViewModelに紐づくModelへアクセスしたりするVMとMの配線問題が発生してしまう。 そのため、全てのModelをまとめて、一つの巨大なS

    MVVMパターンをVue.jsのコードから理解してみる。 - Qiita
    carolina04
    carolina04 2023/10/15
    “MVVMのVとVMの関係においては、"データバインディング"がなされている。 データのやりとりを行うのではなく、データを共有している、というイメージ”
  • 【Vue.js】v-ifとv-showの使い方と違いについて!

    野中やすお フリーランスのWebエンジニアです。IT系雑記を中心に、自分の活動のことや趣味のことを書いていきます。 【技術スタック】Python / TypeScript(Next.js・Nuxt.Js) / PHP(Laravel) / AWS / Dockerなど 【関心事】環境問題 / デジタル化など 【関わっている団体】国際環境NGO350 Japan / ヤンググリーンズジャパン 【趣味将棋 / 読書 / 旅行GitHubはこちら】

    【Vue.js】v-ifとv-showの使い方と違いについて!
    carolina04
    carolina04 2023/10/15
    “v-ifは要素の表示を切り替えるため非表示になった場合はDOMから完全に削除されます。一方でv-showの要素は常にレンダリングされて DOMに残り続けます。v-ifを使用した場合は、v-showと比べてリソースを節約することがで”
  • Vue.js

    SFC CSS 機能 ​スコープ付き CSS ​<style> タグに scoped 属性が指定されている場合、その CSS は現在のコンポーネントの要素のみに適用されます。これは、Shadow DOM に見られるスタイルのカプセル化に似ています。これはいくつかの注意点がありますが、ポリフィルは必要ありません。これは、PostCSS を使って変換することで実現されます。次のコードは: vue<style scoped> .example { color: red; } </style> <template> <div class="example">hi</div> </template>

    Vue.js
    carolina04
    carolina04 2023/10/14
    “<style> タグに scoped 属性が指定されている場合、その CSS は現在のコンポーネントの要素のみに適用されます”
  • Vue3.3の新機能とは? ジェネリクスコンポーネントを中心にdefineSlots()などの新機能を解説【後編】

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Vue3.3の新機能とは? ジェネリクスコンポーネントを中心にdefineSlots()などの新機能を解説【後編】
  • 1