2.2.1 • Published 10 months ago

quarkc v2.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

Quarkc, a cross technology stack / native component building tool.

outstanding case

authorgithub addressscreenshot / link
@yuhaiyang1https://github.com/yuhaiyang1/quarkc-timehttps://unpkg.com/quark-timer@0.0.2/demo.html
@khnohttps://github.com/khno/quark-element-demo-celebratehttps://unpkg.com/quarkc-demo-celebrate@latest/demo.html
@hellof2ehttps://github.com/hellof2e/quark-doc-header1685501041275 https://quarkc.hellobike.com/#/
@xsf0105https://github.com/xsf0105/dark-light-elementhttps://unpkg.com/dark-light-element@latest/demo.html
@dyf19118https://github.com/dyf19118/quark-ui-rateimage(https://github.com/hellof2e/quark-cli/assets/14307551/e11e6c49-4c18-4bca-adc3 -01a7198ab2e2)
@hellof2ehttps://github.com/hellof2e/quark-doc-home1686575964690
@zhangfisherhttps://github.com/zhangfisher/lite-tree/tree/master/packages/quarkclick to view

introduce

Quarkc (Quark core abbreviation) is a web components framework with perfect development experience. With it, you can develop standard cross-framework components.

Why Quarkc?

Background 1: History of the front end The front-end has been developed for many years. Regardless of the size of the company, there are generally various technology stacks (React, Angular, Jq, Vue) / different versions of the same technology stack (Vue2, Vue3). If you want to develop a common component (for example: marketing pop-up window), the workload is double+ (different technical frameworks need to be developed/maintained/launched separately, and different versions of the same technology may also need to be developed/maintained/launched separately)

Background 2: The future of the front end The front-end framework will continue to iterate/develop, and there will be new versions and new frameworks. Using Quarkc to develop "universal components" will not update and iterate along with the "wave of front-end frameworks" (greatly reducing component development/maintenance costs).

The above background determines that the development and maintenance costs of front-end general-purpose components are relatively high.

Quarkc target

Let web components implement technology stack independent!

use

Component starter template

  1. Engineering installation
npm create quarkc@latest
cd project-name

npm install
npm start
  1. Custom components
import { QuarkElement, property, customElement } from "quarkc"
import style from "./index.less?inline"

@customElement({ tag: "my-element", style }) // custom tag/component, CSS
export default class MyElement extends QuarkElement {
   @property() // external property
   count

   add = () => {
     this.count += 1
   }

   render() {
     return (
       <button onClick={this.add}>count is: { this.count }</button>
     )
   }
}
  1. use

All kinds of tech stacks work.

<my-element count="count" />

<!-- vue -->
<my-element :count="count" />

<!-- react -->
<my-element count={count} />

<!-- svelte -->
<my-element {count} />

<!-- angular -->
<my-element [count]="count" />

Component packaging

Package default output is UMD / ESM format

npm run build

At this point, the resources under the build product lib/ can be used directly in the project. (Any front-end project can be used~)

import "your-element"

<my-element></my-element>

Component publishing

Components can be published to npm, installed with:

npm install your-element

Can be used as a CDN

<script src="https://fastly.jsdelivr.net/npm/quarkc"></script>
<script src="https://fastly.jsdelivr.net/npm/your-element"></script>

Also available as ES Module (recommended)

import "your-element"

For more details about publishing, click Publishing

Features

  • Cross-Technology Stack: Components can be used in any frame or frameless environment, making your code more reusable
  • The component size is very small and the performance is extremely high: Because Quarkc uses the browser's native API, your component can achieve optimal performance and small size
  • Web Components, Simple, Fast!
  • Browser native API, components can be used across technology stacks
  • There is no front-end framework Runtime, and the size of Web components is extremely small
  • High performance design, integration of Shadow DOM and Virtual DOM
  • Components are directly decoupled, polished independently, and referenced on demand

Performance reference

Screenshot of a slightly complex component page running score:

Documentation

For full documentation, please visit quarkc.hellobike.com

2.2.1

10 months ago

2.2.0

10 months ago

2.1.9

10 months ago

2.1.2

1 year ago

2.1.4

10 months ago

2.1.3

1 year ago

2.1.6

10 months ago

2.1.8

10 months ago

2.1.7

10 months ago

2.1.1

1 year ago

2.0.0

1 year ago

1.0.55

1 year ago

1.0.54

1 year ago

1.0.58

1 year ago

1.0.57

1 year ago

1.0.56

1 year ago

1.0.44

1 year ago

1.0.43

1 year ago

1.0.48

1 year ago

1.0.47

1 year ago

1.0.45

1 year ago

1.0.49

1 year ago

1.0.51

1 year ago

1.0.50

1 year ago

1.0.53

1 year ago

1.0.52

1 year ago

1.0.42

1 year ago

1.0.41

1 year ago

1.0.40

2 years ago

1.0.18

2 years ago

1.0.39

2 years ago

1.0.17

2 years ago

1.0.38

2 years ago

1.0.16

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.22

2 years ago

1.0.21

2 years ago

1.0.20

2 years ago

1.0.33

2 years ago

1.0.32

2 years ago

1.0.10

2 years ago

1.0.31

2 years ago

1.0.30

2 years ago

1.0.37

2 years ago

1.0.15

2 years ago

1.0.36

2 years ago

1.0.14

2 years ago

1.0.35

2 years ago

1.0.13

2 years ago

1.0.34

2 years ago

1.0.12

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.2

2 years ago