Coder Social home page Coder Social logo

donghoon-song / cfcs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from naver/cfcs

0.0 0.0 0.0 1.58 MB

Write once, create framework components that supports React, Vue, Svelte, and more.

Home Page: https://naver.github.io/cfcs

License: MIT License

JavaScript 10.34% TypeScript 68.44% CSS 4.90% HTML 16.31%

cfcs's Introduction

Write once, create framework components that supports React, Vue, Svelte, and more.

    GitHub 

React Vue 2 Vue3 Svelte

Description

Many users use JavaScript frameworks and create or use components available in the framework.

However, if the component you want doesn't exist, you may have to find it externally or create it yourself.

Have you ever wanted to use Vanilla components in React or React components in Vue?

In order to support these JavaScript frameworks, the developers of JS libraries had to learn how to use each framework, and write and maintain code for each framework separately.

CFCs(Cross Framework Components) were developed to solve these problems. With CFCs, one code can support multiple frameworks according to the framework's usage.

Who should use this library?

In today's web front-end development, JavaScript frameworks have become very important.

The problem is that even though there are many great components, there are cases where JavaScript frameworks are not supported. Even newer JavaScript frameworks stand out even more.

Typically, you can call these libraries using the mounted lifecycle supported by frameworks, but often you won't be able to use some of their features or even use them at all.

For those who have had such experiences, we recommend using CFC. In particular, we recommend CFCs if you:

  1. You want to develop a component to support various JavaScript frameworks.
  2. You want to support existing components to various JavasScript frameworks.

Concepts

Previously, if you wanted to support different JavaScript frameworks, you had to write code for each one separately.

This meant that if you doubled the number of frameworks you wanted to support, the maintenance cost is also doubled.

With CFCs, you can use Compatible to support multiple frameworks with just one code.

CFCs Reactive

CFCs Reactive can support multiple frameworks as a Reactive Component, a utility component that is state-based and does not create a UI.

Reactive State is a state that changes according to a specific condition.

You can detect state changes and also create a UI that changes based on conditions.

CFCs Reactive-style components

  • ImReady: I'm Ready to check if the images or videos are loaded.
  • Axes: You can easily create a UI that responds to user actions.
  • Conveyer: Drag gestures to your Native Scroll.

📦 Packages

Package Version Description
@cfcs/core version CFCs for Core
@cfcs/react version CFCs for React
@cfcs/vue2 version CFCs for Vue.js@2
@cfcs/vue3 version CFCs for Vue.js@3
@cfcs/svelte version CFCs for Svelte

📝 Feedback

Please file an Issue.

📜 License

cfcs is released under the MIT license.

CFCs
Copyright (c) 2023-present NAVER Corp.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

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.