{"id":1613,"date":"2022-06-23T08:25:16","date_gmt":"2022-06-23T08:25:16","guid":{"rendered":"https:\/\/blog.amt.in\/?p=1613"},"modified":"2022-06-23T08:25:16","modified_gmt":"2022-06-23T08:25:16","slug":"introduction-to-vue-js","status":"publish","type":"post","link":"https:\/\/blog.amt.in\/index.php\/2022\/06\/23\/introduction-to-vue-js\/","title":{"rendered":"Introduction to Vue.js"},"content":{"rendered":"<p>Vue.js\u00c2\u00a0\u00c2\u00a0is an\u00c2\u00a0open-source\u00c2\u00a0JavaScript framework\u00c2\u00a0for building\u00c2\u00a0user interfaces.\u00c2\u00a0Integration into projects that use other\u00c2\u00a0JavaScript libraries\u00c2\u00a0is simplified with Vue because it is designed to be incrementally adoptable. Vue can also function as a\u00c2\u00a0web application framework\u00c2\u00a0capable of powering advanced\u00c2\u00a0single-page applications.<\/p>\n<p>Vue.js is a popular\u00c2\u00a0JavaScript\u00c2\u00a0front-end framework that was built to organize and simplify web development.<\/p>\n<p>The project focuses on making ideas in web UI development (components, declarative UI, hot-reloading, time-travel debugging, etc.) more approachable. It attempts to be less opinionated and thus easier for developers to pick up.<\/p>\n<p>It features an incrementally adoptable architecture. The core library focuses on declarative rendering and component composition and can be embedded into existing pages. Advanced features required for complex applications such as routing, state management and build tooling are offered via officially maintained supporting libraries and packages.<\/p>\n<p>Vue uses an\u00c2\u00a0HTML-based template syntax that allows you to declaratively bind the rendered\u00c2\u00a0DOM\u00c2\u00a0to the underlying Vue instance\u00e2\u20ac\u2122s data. All Vue templates are valid HTML that can be parsed by spec-compliant browsers and HTML\u00c2\u00a0parsers. Under the hood, Vue compiles the templates into virtual DOM render functions. Combined with the reactivity system, Vue is able to calculate the minimal number of components to re-render and apply the minimal amount of DOM manipulations when the app state changes.<\/p>\n<p>In Vue, you can use the template syntax or choose to directly write render functions using\u00c2\u00a0JSX. In order to do so just replace the template option with a render function.\u00c2\u00a0Render functions open up possibilities for powerful component-based patterns\u00e2\u20ac\u0160\u00e2\u20ac\u201d\u00e2\u20ac\u0160for example, the new transition system is now completely component-based, using render functions internally.<\/p>\n<p>One of Vue\u00e2\u20ac\u2122s most distinctive features is the unobtrusive reactivity system. Models are just plain\u00c2\u00a0JavaScript\u00c2\u00a0objects. When you modify them, the view updates. It makes state management very simple and intuitive. Vue provides optimized re-rendering out of the box without you having to do anything. Each component keeps track of its reactive dependencies during its render, so the system knows precisely when to re-render, and which components to re-render.<\/p>\n<p>Components are one of the most powerful features of Vue. In a large application, it is necessary to divide the whole app into small, self-contained, and often reusable components to make development manageable. Components extend basic\u00c2\u00a0HTML elements\u00c2\u00a0to encapsulate reusable code. At a high level, components are custom elements to which the Vue\u00e2\u20ac\u2122s compiler attaches behavior. In Vue, a component is essentially a Vue instance with pre-defined options.<\/p>\n<p>Vue provides a variety of ways to apply transition effects when items are inserted, updated, or removed from the\u00c2\u00a0DOM. This includes tools to:<\/p>\n<ul>\n<li>automatically apply classes for\u00c2\u00a0CSS\u00c2\u00a0transitions and animations<\/li>\n<li>integrate third-party CSS animation libraries, such as Animate.css<\/li>\n<li>use JavaScript to directly manipulate the DOM during transition hooks<\/li>\n<li>integrate third-party JavaScript animation libraries, such as\u00c2\u00a0Velocity.js<\/li>\n<\/ul>\n<p>The above is a brief about Vue.js. Watch this space for more updates on the latest trends in Technology.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vue.js\u00c2\u00a0\u00c2\u00a0is an\u00c2\u00a0open-source\u00c2\u00a0JavaScript framework\u00c2\u00a0for building\u00c2\u00a0user interfaces.\u00c2\u00a0Integration<\/p>\n","protected":false},"author":1,"featured_media":1615,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[208,30,203],"tags":[209,14,204],"class_list":["post-1613","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-framework","category-javascript","category-vue-js","tag-framework","tag-javascript","tag-vue-js"],"_links":{"self":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts\/1613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/comments?post=1613"}],"version-history":[{"count":1,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts\/1613\/revisions"}],"predecessor-version":[{"id":1614,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts\/1613\/revisions\/1614"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/media\/1615"}],"wp:attachment":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/media?parent=1613"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/categories?post=1613"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/tags?post=1613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}