{"id":7979,"date":"2024-09-29T18:15:28","date_gmt":"2024-09-29T16:15:28","guid":{"rendered":"http:\/\/blog.via-internet.de\/?p=7979"},"modified":"2024-09-30T14:59:32","modified_gmt":"2024-09-30T12:59:32","slug":"vue3-einstieg","status":"publish","type":"post","link":"https:\/\/via-internet.de\/blog\/2024\/09\/29\/vue3-einstieg\/","title":{"rendered":"Vue3 | Einstieg"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Allgemeines<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Installation mit der vue-cli<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">yarn global add @vue\/cli\n# OR\nnpm install -g @vue\/cli<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Neues Projekt erstellen<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">vue create my-project\n# OR\nvue ui<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Installation mit Vite<\/h3>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"vite\">Vite<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/vitejs\/vite\" target=\"_blank\">Vite<\/a> ist ein Build-Tool f\u00fcr die Webentwicklung, das aufgrund seines nativen ES-Modul-Importansatzes eine blitzschnelle Bereitstellung von Code erm\u00f6glicht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Installation mit  npm:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">npm init @vitejs\/app &lt;project-name>\ncd &lt;project-name>\nnpm install\nnpm run dev<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Oder mit Yarn<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$ yarn create @vitejs\/app &lt;project-name>\n$ cd &lt;project-name>\n$ yarn\n$ yarn dev<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn der Projektname Leerzeichen ehth\u00e4lt, kann es zu Fehlern kommen. Dann hilft das nachfolgende Kommando<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$ create-vite-app &lt;project-name><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Vue Frameworks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Description<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Group<\/strong><\/th><th><strong>Link Text<\/strong><\/th><th><strong>URL<\/strong><\/th><th><strong>Description<\/strong><\/th><th><strong>Details<\/strong><\/th><th><strong>Advantages<\/strong><\/th><th><\/th><\/tr><\/thead><tbody><tr><td>UI Framework<\/td><td>Vuetify<\/td><td><a href=\"https:\/\/next.vuetifyjs.com\/\">https:\/\/next.vuetifyjs.com\/<\/a><\/td><td>Material design component framework for Vue 3.<\/td><td>Rich in features and components.<\/td><td>Highly customizable, extensive components, material design.<\/td><td><\/td><\/tr><tr><td>UI Framework<\/td><td>Quasar<\/td><td><a href=\"https:\/\/quasar.dev\/\">https:\/\/quasar.dev\/<\/a><\/td><td>Build responsive websites, mobile, and desktop apps using a single codebase with Vue 3.<\/td><td>All-in-one framework for web, mobile, and desktop apps.<\/td><td>Cross-platform, fast development, rich ecosystem.<\/td><td><\/td><\/tr><tr><td>UI Framework<\/td><td>Element Plus<\/td><td><a href=\"https:\/\/element-plus.org\/\">https:\/\/element-plus.org\/<\/a><\/td><td>Enterprise-ready UI component library for Vue 3.<\/td><td>Popular in the Chinese market, enterprise-friendly.<\/td><td>Well-documented, easy to use, comprehensive components.<\/td><td><\/td><\/tr><tr><td>UI Framework<\/td><td>Naive UI<\/td><td><a href=\"https:\/\/www.naiveui.com\/\">https:\/\/www.naiveui.com\/<\/a><\/td><td>Minimalistic and customizable component library for Vue 3.<\/td><td>Lightweight and easy to integrate.<\/td><td>Customizable, lightweight, modern.<\/td><td><\/td><\/tr><tr><td>UI Framework<\/td><td>PrimeVue<\/td><td><a>https:\/\/primefaces.org\/primevue\/<\/a><\/td><td>Rich set of customizable UI components for Vue 3.<\/td><td>Comes with many pre-built themes and components.<\/td><td>Wide variety of components, responsive, many themes.<\/td><td><\/td><\/tr><tr><td>UI Framework<\/td><td>Ant Design Vue<\/td><td><a>https:\/\/2x.antdv.com\/<\/a><\/td><td>Vue 3 implementation of the Ant Design UI library.<\/td><td>Well-suited for professional and enterprise-grade apps.<\/td><td>Clean, professional design, extensive components.<\/td><td><\/td><\/tr><tr><td>UI Framework<\/td><td>BootstrapVue 3<\/td><td><a href=\"https:\/\/bootstrap-vue.org\/\">https:\/\/bootstrap-vue.org\/<\/a><\/td><td>Bootstrap-based Vue 3 components.<\/td><td>Based on Bootstrap for familiarity.<\/td><td>Bootstrap ecosystem, responsive, familiar grid system.<\/td><td>Lacks some modern UI components compared to newer libraries.<\/td><\/tr><tr><td>Routing<\/td><td>Vue Router<\/td><td><a>https:\/\/router.vuejs.org\/<\/a><\/td><td>Official Vue 3 router for single-page applications.<\/td><td>Powerful and flexible routing.<\/td><td>Seamless integration with Vue 3, dynamic routing, nested routes.<\/td><td>Requires setup for advanced features (SSR, lazy loading).<\/td><\/tr><tr><td>State Management<\/td><td>Pinia<\/td><td><a>https:\/\/pinia.vuejs.org\/<\/a><\/td><td>Lightweight, intuitive state management library for Vue 3.<\/td><td>Vuex alternative with Composition API support.<\/td><td>Simple API, modular, Composition API support, easy to learn.<\/td><td>Limited ecosystem compared to Vuex.<\/td><\/tr><tr><td>State Management<\/td><td>Vuex<\/td><td><a>https:\/\/vuex.vuejs.org\/<\/a><\/td><td>Official state management library for Vue.js, compatible with Vue 3.<\/td><td>Centralized state management for Vue apps.<\/td><td>Well-supported, battle-tested, great for large apps.<\/td><td>Can be complex for small applications, more boilerplate.<\/td><\/tr><tr><td>Build Tool<\/td><td>Vite<\/td><td><a href=\"https:\/\/vitejs.dev\/\">https:\/\/vitejs.dev\/<\/a><\/td><td>Fast build tool with native support for Vue 3.<\/td><td>Modern alternative to Webpack, optimized for Vue 3.<\/td><td>Super fast builds, modern JavaScript support, HMR.<\/td><td>Still evolving, lacks plugins compared to Webpack.<\/td><\/tr><tr><td>Build Tool<\/td><td>Vue CLI<\/td><td><a>https:\/\/cli.vuejs.org\/<\/a><\/td><td>CLI to scaffold and manage Vue.js applications, supports Vue 3.<\/td><td>Long-standing, mature build tool.<\/td><td>Easy to use, integrates well with Vue ecosystem, powerful plugins.<\/td><td>Slower build times compared to Vite.<\/td><\/tr><tr><td>Dev Tools<\/td><td>Vue Devtools<\/td><td><a>https:\/\/devtools.vuejs.org\/<\/a><\/td><td>Browser extension for debugging Vue.js applications.<\/td><td>Essential for Vue development.<\/td><td>Powerful debugging, time-travel debugging, component inspection.<\/td><td>Can slow down large apps in development mode.<\/td><\/tr><tr><td>Meta Framework<\/td><td>Nuxt 3<\/td><td><a>https:\/\/v3.nuxtjs.org\/<\/a><\/td><td>Vue 3 meta-framework for SSR and static site generation.<\/td><td>Built on Vue 3, optimized for server-side rendering.<\/td><td>SSR, static site generation, auto-routing, great SEO support.<\/td><td>More complex setup, slower build times than SPAs.<\/td><\/tr><tr><td>Utility Library<\/td><td>VueUse<\/td><td><a href=\"https:\/\/vueuse.org\/\">https:\/\/vueuse.org\/<\/a><\/td><td>Collection of essential Vue 3 composition utilities.<\/td><td>Focused on utility functions for the Composition API.<\/td><td>Makes Vue Composition API easier, reusable functions.<\/td><td>Only useful for Composition API users, lacks official support.<\/td><\/tr><tr><td>Data Fetching<\/td><td>Apollo Vue<\/td><td><a>https:\/\/apollo.vuejs.org\/<\/a><\/td><td>A Vue 3 integration for building GraphQL-powered applications.<\/td><td>Full-featured GraphQL client for Vue 3.<\/td><td>Great GraphQL support, works well with Vue, powerful querying.<\/td><td>Heavyweight, more setup required for small projects.<\/td><\/tr><tr><td>Data Fetching<\/td><td>Vue Query<\/td><td><a>https:\/\/vue-query.vercel.app\/<\/a><\/td><td>Data-fetching and state management library, similar to React Query, for Vue 3.<\/td><td>Simplifies API data-fetching and caching.<\/td><td>Easy API, great for handling remote data, caching, and synchronization.<\/td><td>Less support for large data models compared to Vuex.<\/td><\/tr><tr><td>Validation<\/td><td>Vuelidate<\/td><td><a>https:\/\/vuelidate-next.netlify.app\/<\/a><\/td><td>Validation library for Vue 3 with support for the Composition API.<\/td><td>Composition API-based validation.<\/td><td>Lightweight, easy to integrate, simple to use.<\/td><td>Not as feature-rich as some alternatives (like VeeValidate).<\/td><\/tr><tr><td>Form Handling<\/td><td>FormKit<\/td><td><a href=\"https:\/\/formkit.com\/\">https:\/\/formkit.com\/<\/a><\/td><td>Robust form management and validation for Vue 3.<\/td><td>Advanced form management with full validation support.<\/td><td>Extensive features for forms, great validation handling.<\/td><td>Overkill for simple forms, can increase bundle size.<\/td><\/tr><tr><td>UI Framework<\/td><td>Ionic Vue<\/td><td><a>https:\/\/ionicframework.com\/docs\/vue\/<\/a><\/td><td>Build cross-platform mobile apps with Vue 3 and Ionic.<\/td><td>Optimized for mobile development.<\/td><td>Cross-platform, mobile-first components, easy PWA integration.<\/td><td>Can feel bloated for web-only applications.<\/td><\/tr><tr><td>UI Framework<\/td><td>Vue 3 Material<\/td><td><a href=\"https:\/\/vuematerial.io\/\">https:\/\/vuematerial.io\/<\/a><\/td><td>Material Design 3 component library for Vue 3.<\/td><td>Material Design components for Vue 3.<\/td><td>Simple to use, clean material design.<\/td><td>Fewer components compared to other material design libraries like Vuetify.<\/td><\/tr><tr><td>UI Framework<\/td><td>Vuestic UI<\/td><td><a href=\"https:\/\/vuestic.dev\/\">https:\/\/vuestic.dev\/<\/a><\/td><td>UI library for building accessible, fully customizable interfaces with Vue 3.<\/td><td>Focused on accessibility and customization.<\/td><td>Highly customizable, lightweight, accessible out of the box.<\/td><td>Smaller community and ecosystem.<\/td><\/tr><tr><td>UI Framework<\/td><td>DevExtreme Vue<\/td><td><a>https:\/\/js.devexpress.com\/Overview\/Vue\/<\/a><\/td><td>Enterprise-ready Vue 3 components for data-heavy applications.<\/td><td>Optimized for enterprise and data-heavy apps.<\/td><td>Great data components, enterprise-grade, responsive.<\/td><td>Commercial product, steeper learning curve.<\/td><\/tr><tr><td>Testing<\/td><td>Vue Test Utils<\/td><td><a>https:\/\/test-utils.vuejs.org\/<\/a><\/td><td>Official unit testing library for Vue components.<\/td><td>Built for Vue component testing.<\/td><td>Official testing library, well-supported, integrates with Jest and Mocha.<\/td><td>Can be challenging for complex components.<\/td><\/tr><tr><td>Testing<\/td><td>Cypress<\/td><td><a href=\"https:\/\/www.cypress.io\/\">https:\/\/www.cypress.io\/<\/a><\/td><td>End-to-end testing framework for web applications, supports Vue 3.<\/td><td>Easy-to-use end-to-end testing tool.<\/td><td>Real browser testing, powerful debugging tools, great for Vue 3 apps.<\/td><td>Requires real browser setup, slower than unit testing.<\/td><\/tr><tr><td>Testing<\/td><td>Jest<\/td><td><a href=\"https:\/\/jestjs.io\/\">https:\/\/jestjs.io\/<\/a><\/td><td>JavaScript testing framework with Vue 3 support via <code>vue-jest<\/code>.<\/td><td>Popular testing framework in JavaScript.<\/td><td>Fast, easy to configure, great Vue 3 support.<\/td><td>Configuration required for Vue 3 with <code>vue-jest<\/code>.<\/td><\/tr><tr><td>Animation<\/td><td>GSAP Vue 3<\/td><td><a>https:\/\/greensock.com\/docs\/v3\/Installation?ref=platforms<\/a><\/td><td>Vue 3 integration for creating animations with GSAP (GreenSock Animation Platform).<\/td><td>Leading animation library with Vue 3 integration.<\/td><td>High-performance animations, extensive feature set, works well with Vue 3.<\/td><td>Can add to the complexity and size of your app if overused.<\/td><\/tr><tr><td>Data Visualization<\/td><td>Vue Chart 3<\/td><td><a href=\"https:\/\/vuechartjs.org\/\">https:\/\/vuechartjs.org\/<\/a><\/td><td>Charting library for Vue 3 built on Chart.js.<\/td><td>Chart.js integration for Vue 3.<\/td><td>Easy to use, lightweight, built on the popular Chart.js.<\/td><td>Limited to what Chart.js supports, not as flexible as some other charting libraries.<\/td><\/tr><tr><td>Testing<\/td><td>Vitest<\/td><td><a>https:\/\/vitest<\/a><\/td><td><\/td><td><\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Allgemeines Installation Installation mit der vue-cli Neues Projekt erstellen Installation mit Vite Vite Vite ist ein Build-Tool f\u00fcr die Webentwicklung, das aufgrund seines nativen ES-Modul-Importansatzes eine blitzschnelle Bereitstellung von Code erm\u00f6glicht. Installation mit npm: Oder mit Yarn Wenn der Projektname Leerzeichen ehth\u00e4lt, kann es zu Fehlern kommen. Dann hilft das nachfolgende Kommando Vue Frameworks Description: Group Link Text URL Description Details Advantages UI Framework Vuetify https:\/\/next.vuetifyjs.com\/ Material design component framework for Vue 3. Rich in features and components. Highly customizable, extensive components, material design. UI Framework Quasar https:\/\/quasar.dev\/ Build responsive websites, mobile, and desktop apps using a single codebase with Vue [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[103,86],"tags":[],"class_list":["post-7979","post","type-post","status-publish","format-standard","hentry","category-vue","category-web-framework"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/posts\/7979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/comments?post=7979"}],"version-history":[{"count":2,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/posts\/7979\/revisions"}],"predecessor-version":[{"id":10295,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/posts\/7979\/revisions\/10295"}],"wp:attachment":[{"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/media?parent=7979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/categories?post=7979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/tags?post=7979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}