一套代码多平台运行这样的兼容性与生俱来的无比强悍!

今天给大家分享一款性能优秀的 Vue 组件开发框架:Quasar

一套代码多平台运行这样的兼容性与生俱来的无比强悍!

Quasar可以用最短的时间,轻松打造高性能&高质量的 Vue.js 3 用户界面.

Quasar(发音为/kweɪ.zɑɹ/)是MIT许可的基于Vue.js的开源框架,允许作为Web开发人员的您快速创建多种类型的responsive++网站/应用.

一套代码多平台运行这样的兼容性与生俱来的无比强悍!

Quasar的座右铭是:编写代码一次并同时将其部署为网站、移动应用和/或Electron应用

是的,所有这些应用都用一个代码库。

Quasar技术特点?

结合Quasar UI和Quasar CLI开箱即用的简单性和强大功能,一个用于所有平台的源代码,提供所有最新和最好的现成最佳实践。

一套代码多平台运行这样的兼容性与生俱来的无比强悍!

CLI+Quasar Web组件,帮助开发者以最短时间开发应用。让开发人员只关注你应用程序的功能,而忘记它周围的样板(boilerplate),让开放更轻松。

以下是Quasar的重要方面和功能的非详尽列表。

  • 最全应用支持

时为所有平台提供一个权威的代码源:响应式桌面/移动网站(SPA,SSR + SPA客户端接管,SSR + PWA客户端接管),PWA(渐进式网页应用),移动应用(看起来原生)和多平台桌面应用(通过Electron)

  • 最大的顶级、快速和响应迅速的Web组件集

在Quasar中,几乎每个Web开发需求都有一个组件。Quasar的每个组件都经过精心设计,考虑了性能和响应能力,为您的用户提供最佳体验。

  • 最佳实践默认集成

Quasar还旨在鼓励开发人员遵循Web开发最佳实践。要做到这一点,Quasar充满了开箱即用 – 无需配置的强大功能。

  • 应用扩展支持

Quasar应用扩展是一种轻松地将复杂(或简单)设置注入您的网站/应用程序的方法。这是社区贡献的一种方式,帮助开发者加速起步。

  • 全面的RTL支持

RTL(从右到左)支持Quasar组件和开发人员自己的代码。如果使用RTL语言包,开发人员编写的网站/应用程序CSS代码会自动转换为RTL。

  • 逐步迁移现有项目

QQuasar提供UMD(统一模块定义)版本,这意味着开发人员可以将CSS和JS HTML标签添加到现有项目中,并准备好使用它。不需要构建步骤。

  • 专注于你的功能,而不是样板

Quasar CLI的顶级项目初始化使你作为一个开发者很容易开始工作。你可以在极短的时间内把你的想法变成现实。CLI安装,不用多说了吧!开发者可以自由地专注于功能,而不是样板。

  • 自动化测试和审核

Quasar项目能够开箱即用地添加单元和端对端测试套件,以及不断增长的产品质量和安全审计工具套件。所有这些都是为了确保开发出来的网站/应用程序具有最高质量。

  • 广泛的平台支持

Google Chrome, Firefox, Edge, Safari, Opera, iOS, Android, MacOS, Linux, Windows. 可以说你要的平台,你都可以有。

Quasar安装和使用

安装/项目脚手架

通过Quasar创建和初始化一个项目非常的简单。

yarn create quasar
// or 
npm init quasar
// or
pnpm create quasar

接着,会被问到想要哪个Quasar App CLI:你是喜欢Vite,还是Webpack

这个看大家各自的习惯了。当然,还有 TypScript Support、CSS preprocessor等配置。对于初级选手,不知道,就直接按enter键走默认配置就好。

至此,项目构建完成。

运行

项目创建完成后,进入项目,执行下面命令运行项目:

quasar dev

Vue 组件集成

在 Vue 3.x 项目中集成的简单示例.

先来个简单的 Button按钮。

<template>
  <div class="q-pa-md q-gutter-sm">
    <q-btn color="white" text-color="black" label="Standard" />
    <q-btn color="primary" label="Primary" />
    <q-btn color="secondary" label="Secondary" />
    <q-btn color="amber" glossy label="Amber" />
    <q-btn color="brown-5" label="Brown 5" />
    <q-btn color="deep-orange" glossy label="Deep Orange" />
    <q-btn color="purple" label="Purple" />
    <q-btn color="black" label="Black" />
  </div>
</template>
一套代码多平台运行这样的兼容性与生俱来的无比强悍!

最常用的表单组件。

<template>
  <div class="q-pa-md" style="max-width: 400px">

    <q-form
      @submit="onSubmit"
      @reset="onReset"
      class="q-gutter-md"
    >
      <q-input
        filled
        v-model="name"
        label="Your name *"
        hint="Name and surname"
        lazy-rules
        :rules="[ val => val && val.length > 0 || 'Please type something']"
      />

      <q-input
        filled
        type="number"
        v-model="age"
        label="Your age *"
        lazy-rules
        :rules="[
          val => val !== null && val !== '' || 'Please type your age',
          val => val > 0 && val < 100 || 'Please type a real age'
        ]"
      />

      <q-toggle v-model="accept" label="I accept the license and terms" />

      <div>
        <q-btn label="Submit" type="submit" color="primary"/>
        <q-btn label="Reset" type="reset" color="primary" flat class="q-ml-sm" />
      </div>
    </q-form>

  </div>
</template>

<script>
import { useQuasar } from 'quasar'
import { ref } from 'vue'

export default {
  setup () {
    const $q = useQuasar()

    const name = ref(null)
    const age = ref(null)
    const accept = ref(false)

    return {
      name,
      age,
      accept,

      onSubmit () {
        if (accept.value !== true) {
          $q.notify({
            color: 'red-5',
            textColor: 'white',
            icon: 'warning',
            message: 'You need to accept the license and terms first'
          })
        }
        else {
          $q.notify({
            color: 'green-4',
            textColor: 'white',
            icon: 'cloud_done',
            message: 'Submitted'
          })
        }
      },

      onReset () {
        name.value = null
        age.value = null
        accept.value = false
      }
    }
  }
}
</script>
一套代码多平台运行这样的兼容性与生俱来的无比强悍!

还有分页组件。

<template>
  <div class="q-pa-lg">
    <div class="q-gutter-md">
      <q-pagination
        v-model="current"
        max="5"
        direction-links
        flat
        color="grey"
        active-color="primary"
      />

      <q-pagination
        v-model="current"
        max="5"
        direction-links
        outline
        color="orange"
        active-design="unelevated"
        active-color="brown"
        active-text-color="orange"
      />

      <q-pagination
        v-model="current"
        max="5"
        direction-links
        push
        color="teal"
        active-design="push"
        active-color="orange"
      />

      <q-pagination
        v-model="current"
        :max="5"
        direction-links
        unelevated
        color="black"
        active-color="purple"
      />
    </div>
  </div>
</template>

<script>
import { ref } from 'vue'

export default {
  setup () {
    return {
      current: ref(3)
    }
  }
}
</script>
一套代码多平台运行这样的兼容性与生俱来的无比强悍!

Quasar还有其他很多优秀的组件。大家可以根据需要进行选用。

一套代码多平台运行这样的兼容性与生俱来的无比强悍!

其他

Quasar配备了40多种开箱即用的语言包。最重要的是,如果缺少您的语言包,则只需5分钟即可添加。

Quasar还有不断增长的社区和出色的文档支持。如果遇到无法解决的问题时,可以访问Quasar论坛或我们的Discord聊天服务器。社区随时为您提供 帮助。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/120952
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注