GithubHelp home page GithubHelp logo

technologyarts / scarletsframe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scarletsfiction/scarletsframe

0.0 0.0 0.0 4.1 MB

A frontend framework that can help you write performant complex web feature with low dev time and resource cost.

License: MIT License

JavaScript 94.19% HTML 4.68% CSS 1.13%

scarletsframe's Introduction

Software License Tweet Discord

ScarletsFrame

A frontend framework that can help you write a simple web structure with complex feature. This framework built for performance with balanced memory allocation and allows you to directly write template in the HTML. Here you can see the benchmark.

The documentation located on Github Wiki.

This framework haven't reach v1.0.0. Every increment of (v0.*.0) may have a breaking changes. Please see the CHANGELOG.md if you want to check the breaking changes. Make sure to specify the version instead of latest when using CDN link or the package like below.

<!-- Production mode -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/scarletsframe.min.js"></script>

<!-- Development mode -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/scarletsframe.dev.js"></script>

<!-- sQuery only (sf.$) -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/squery.min.js"></script>

Try it online like a project

Example with file and folder structure

Advanced Example

Simple Example

Real World App

Install with CDN link

This is optional if you prefer using CDN link. But I recommend to use the default template that have Hot Reload enabled.

<script src='https://cdn.jsdelivr.net/npm/[email protected]/dist/scarletsframe.min.js'></script>

Polyfill for older browser

The dist file from the CDN link will only support Chrome >= 55, Firefox >= 68, and iOS >= 10.3. If you want to support some old browser, you need to add some polyfill before load the framework.
For Safari or iOS browser you may need to polyfill PointerEvent too

Click here to see the polyfills ```html <script type="text/javascript"> // Polyfill for Old Browser (function(){function z(a){document.write('<script src="'+a+'"><\/script>')} if(!window.PointerEvent) // Chrome < 55, Firefox 42 z('https://code.jquery.com/pep/0.4.3/pep.js'); if(!window.Reflect) // Chrome < 49 z('https://unpkg.com/core-js-bundle@latest/minified.js'); if(!window.customElements) // Chrome < 54, Firefox 63 z('https://unpkg.com/@webcomponents/webcomponentsjs@latest/webcomponents-loader.js');
  // From https://polyfill.io/v3/url-builder/
  if(!window.ResizeObserver || !Element.prototype.append || !Element.prototype.matches || !Array.prototype.includes || !Object.assign || !window.MutationObserver)
    z('https://polyfill.io/v3/polyfill.min.js?features=Element.prototype.append%2CElement.prototype.prepend%2CArray.prototype.includes%2CArray.from%2CElement.prototype.matches%2CElement.prototype.closest%2CIntersectionObserver%2CIntersectionObserverEntry%2CObject.assign%2CObject.create%2CResizeObserver%2CPromise%2CWeakMap%2CWeakSet%2CrequestAnimationFrame%2CMutationObserver');
})();
</script> ```

Using the template

For starting the development environment, let's use the default template.

$ npm i -g scarletsframe-cli

# Download template to current directory
$ scarletsframe init default

# Install the needed package
$ npm i

# Start the development server
$ npm start

Install with with NPM

This is optional if you prefer for using webpack, parcel, rollup, etc.

And include it on your project with webpack (example) or browserify.

const sf = require('scarletsframe');
// import { model } from "scarletsframe";

// You can use require to reference another model scope
sf.model('things', function(My, require) {
  My.something = 123;
});

Contribution

If you want to help in ScarletsFrame please fork this project and edit on your repository, then make a pull request to here. Otherwise, you can help with donation via kofi.

License

ScarletsFrame is under the MIT license.

scarletsframe's People

Contributors

stefansarya avatar aminya avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.