Top Related Projects
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
The library for web and native user interfaces.
Deliver web apps with confidence 🚀
Cybernetically enhanced web apps
The Intuitive Vue Framework.
Ember.js - A JavaScript framework for creating ambitious web applications
Quick Overview
Quasar is a high-performance, open-source framework for building responsive, cross-platform Vue.js applications. It allows developers to create web, mobile, and desktop applications using a single codebase, leveraging Vue.js and integrating with popular tools like Webpack and Cordova.
Pros
- Comprehensive UI component library with Material Design support
- Cross-platform development capabilities (web, mobile, and desktop)
- Active community and regular updates
- Excellent documentation and learning resources
Cons
- Steep learning curve for beginners
- Large bundle size compared to lighter Vue.js frameworks
- Some components may require additional customization for complex use cases
- Opinionated structure might not suit all project requirements
Code Examples
- Creating a Quasar button with an icon:
<template>
<q-btn color="primary" icon="mail" label="Send Email" />
</template>
- Implementing a responsive grid layout:
<template>
<q-page>
<q-layout-grid>
<q-layout-item :cols="12" :md="6">
<div>Content for column 1</div>
</q-layout-item>
<q-layout-item :cols="12" :md="6">
<div>Content for column 2</div>
</q-layout-item>
</q-layout-grid>
</q-page>
</template>
- Using Quasar's form components:
<template>
<q-form @submit="onSubmit" class="q-gutter-md">
<q-input v-model="name" label="Name" />
<q-input v-model="email" label="Email" type="email" />
<q-btn label="Submit" type="submit" color="primary"/>
</q-form>
</template>
<script>
export default {
data() {
return {
name: '',
email: ''
}
},
methods: {
onSubmit() {
// Handle form submission
}
}
}
</script>
Getting Started
To start a new Quasar project, follow these steps:
- Install Quasar CLI globally:
npm install -g @quasar/cli
- Create a new project:
quasar create my-project
cd my-project
- Run the development server:
quasar dev
This will set up a new Quasar project and start the development server. You can now begin building your application using Quasar's components and features.
Competitor Comparisons
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
Pros of Vue
- Lighter weight and more flexible core framework
- Larger ecosystem and community support
- Easier learning curve for beginners
Cons of Vue
- Requires additional setup for full-featured apps
- Less opinionated, which can lead to inconsistent code practices
- Fewer built-in UI components out of the box
Code Comparison
Vue component:
<template>
<div>{{ message }}</div>
</template>
<script>
export default {
data() {
return {
message: 'Hello Vue!'
}
}
}
</script>
Quasar component:
<template>
<q-page class="flex flex-center">
<q-btn color="primary" label="Click me" />
</q-page>
</template>
<script>
export default {
name: 'PageIndex'
}
</script>
Vue focuses on core reactivity and component structure, while Quasar provides ready-to-use UI components and layout structures. Vue offers more flexibility but requires additional setup for complex applications, whereas Quasar provides a more opinionated and feature-rich framework out of the box, particularly suited for rapid development of responsive applications.
The library for web and native user interfaces.
Pros of React
- Larger ecosystem and community support
- More flexible and can be used with various backends
- Extensive documentation and learning resources
Cons of React
- Steeper learning curve for beginners
- Requires additional libraries for routing and state management
- More boilerplate code needed for setup
Code Comparison
React component:
import React from 'react';
function MyComponent({ name }) {
return <h1>Hello, {name}!</h1>;
}
Quasar component:
<template>
<h1>Hello, {{ name }}!</h1>
</template>
<script>
export default {
props: ['name']
}
</script>
React focuses on a JavaScript-centric approach, while Quasar uses Vue.js syntax with a template-based structure. React's JSX allows for more flexibility in component structure, but Quasar's Vue-based components offer a cleaner separation of concerns.
Both frameworks have their strengths, with React excelling in large-scale applications and Quasar providing a more opinionated, full-featured framework for rapid development of cross-platform applications.
Deliver web apps with confidence 🚀
Pros of Angular
- Robust, full-featured framework with a comprehensive ecosystem
- Strong TypeScript integration and tooling support
- Extensive documentation and large community
Cons of Angular
- Steeper learning curve compared to Quasar
- More complex setup and configuration
- Larger bundle size for small to medium-sized applications
Code Comparison
Angular component:
@Component({
selector: 'app-example',
template: '<h1>{{ title }}</h1>'
})
export class ExampleComponent {
title = 'Hello, Angular!';
}
Quasar component:
<template>
<div>
<h1>{{ title }}</h1>
</div>
</template>
<script>
export default {
data() {
return {
title: 'Hello, Quasar!'
}
}
}
</script>
Angular uses TypeScript and decorators for component definition, while Quasar follows Vue.js conventions with a more straightforward component structure. Angular's approach offers stronger typing and metadata, while Quasar's Vue-based syntax is generally more concise and easier to read for developers familiar with Vue.js.
Cybernetically enhanced web apps
Pros of Svelte
- Smaller bundle sizes due to compile-time optimization
- Simpler, more intuitive syntax with less boilerplate code
- Faster runtime performance, especially for complex applications
Cons of Svelte
- Smaller ecosystem and community compared to Vue.js (which Quasar is based on)
- Fewer pre-built components and plugins available out-of-the-box
- Limited tooling and IDE support compared to more established frameworks
Code Comparison
Svelte component:
<script>
let count = 0;
function increment() {
count += 1;
}
</script>
<button on:click={increment}>
Clicks: {count}
</button>
Quasar component (Vue.js):
<template>
<q-btn @click="increment">
Clicks: {{ count }}
</q-btn>
</template>
<script>
export default {
data() {
return { count: 0 }
},
methods: {
increment() {
this.count++
}
}
}
</script>
The Svelte code is more concise and requires less boilerplate, while Quasar leverages Vue.js syntax and provides pre-styled components like q-btn
.
The Intuitive Vue Framework.
Pros of Nuxt
- Stronger focus on server-side rendering (SSR) and static site generation (SSG)
- Tighter integration with Vue.js ecosystem
- More opinionated structure, leading to faster development for Vue developers
Cons of Nuxt
- Less comprehensive UI component library compared to Quasar
- Steeper learning curve for developers new to Vue.js
- Limited mobile app development capabilities out-of-the-box
Code Comparison
Nuxt routing:
// pages/index.vue
export default {
asyncData({ params }) {
// Fetch data server-side
}
}
Quasar routing:
// router/routes.js
const routes = [
{
path: '/',
component: () => import('layouts/MainLayout.vue'),
children: [{ path: '', component: () => import('pages/Index.vue') }]
}
]
Both frameworks offer powerful routing capabilities, but Nuxt's file-based routing system is more intuitive for many developers. Quasar's approach provides more flexibility and control over route configuration.
Ember.js - A JavaScript framework for creating ambitious web applications
Pros of Ember.js
- Mature ecosystem with a strong convention-over-configuration approach
- Robust CLI tools for scaffolding and development
- Comprehensive testing framework built-in
Cons of Ember.js
- Steeper learning curve due to its opinionated nature
- Larger bundle size compared to more lightweight frameworks
- Less flexibility in project structure and architecture
Code Comparison
Ember.js component:
import Component from '@glimmer/component';
import { action } from '@ember/object';
export default class MyComponent extends Component {
@action
handleClick() {
// Handle click event
}
}
Quasar component:
<template>
<q-btn @click="handleClick">Click me</q-btn>
</template>
<script>
export default {
methods: {
handleClick() {
// Handle click event
}
}
}
</script>
Ember.js focuses on a more structured, class-based approach with decorators, while Quasar uses Vue.js's component structure with a template and script section. Ember.js has a steeper learning curve but offers more built-in conventions, whereas Quasar provides a more flexible and lightweight approach with Vue.js at its core.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Quasar
Free, Open-Source Remote Administration Tool for Windows
Quasar is a fast and light-weight remote administration tool coded in C#. The usage ranges from user support through day-to-day administrative work to employee monitoring. Providing high stability and an easy-to-use user interface, Quasar is the perfect remote administration solution for you.
Please check out the Getting Started guide.
Screenshots
Features
- TCP network stream (IPv4 & IPv6 support)
- Fast network serialization (Protocol Buffers)
- Encrypted communication (TLS)
- UPnP Support (automatic port forwarding)
- Task Manager
- File Manager
- Startup Manager
- Remote Desktop
- Remote Shell
- Remote Execution
- System Information
- Registry Editor
- System Power Commands (Restart, Shutdown, Standby)
- Keylogger (Unicode Support)
- Reverse Proxy (SOCKS5)
- Password Recovery (Common Browsers and FTP Clients)
- ... and many more!
Download
- Latest stable release (recommended)
- Latest development snapshot
Supported runtimes and operating systems
- .NET Framework 4.5.2 or higher
- Supported operating systems (32- and 64-bit)
- Windows 11
- Windows Server 2022
- Windows 10
- Windows Server 2019
- Windows Server 2016
- Windows 8/8.1
- Windows Server 2012
- Windows 7
- Windows Server 2008 R2
- For older systems please use Quasar version 1.3.0
Compiling
Open the project Quasar.sln
in Visual Studio 2019+ with installed .NET desktop development features and restore the NuGET packages. Once all packages are installed the project can be compiled as usual by clicking Build
at the top or by pressing F6
. The resulting executables can be found in the Bin
directory. See below which build configuration to choose from.
Building a client
Build configuration | Usage scenario | Description |
---|---|---|
Debug configuration | Testing | The pre-defined Settings.cs will be used, so edit this file before compiling the client. You can execute the client directly with the specified settings. |
Release configuration | Production | Start Quasar.exe and use the client builder. |
Contributing
See CONTRIBUTING.md
Roadmap
See ROADMAP.md
Documentation
See the wiki for usage instructions and other documentation.
License
Quasar is distributed under the MIT License.
Third-party licenses are located here.
Thank you!
I really appreciate all kinds of feedback and contributions. Thanks for using and supporting Quasar!
Top Related Projects
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
The library for web and native user interfaces.
Deliver web apps with confidence 🚀
Cybernetically enhanced web apps
The Intuitive Vue Framework.
Ember.js - A JavaScript framework for creating ambitious web applications
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot