GithubHelp home page GithubHelp logo

wooodhead / flyde Goto Github PK

View Code? Open in Web Editor NEW

This project forked from flydelabs/flyde

0.0 1.0 0.0 88.25 MB

[WIP] Flyde is an open source flow-based, visual programming tool that fully integrates with your existing workflow

License: GNU Affero General Public License v3.0

JavaScript 15.92% TypeScript 78.51% CSS 0.32% HTML 0.25% EJS 0.10% SCSS 4.89%

flyde's Introduction

Flyde - Visual Programming in VSCode

"The world is asynchronous - don't try to force the systems we build into a synchronous framework!" - J. Paul Morisson RIP

Flyde is a visual functional reactive flow-based programming tool that can be used to build anything from CLI tools to bots and web apps built. It comes with a VSCode extension that allows you to create Flyde flows from within your editor, and integrate them into your codebase using the runtime library.

Checkout the official website at flyde.dev or the examples folder for more information

Note: Flyde is still WIP and is not intended for production use (yet)


A dad joke CLI tool built with Flyde

License

Everything needed to run a Flyde file is MIT licensed. That includes:

  • @flyde/core
  • @flyde/resolver
  • @flyde/runtime
  • @flyde/stdlib

The UI library and other parts of the toolkit are GNU AGPLv3 licensed.

In other words, using Flyde flows in your software is permitted without any limitation. However, if you use Flyde's visual editor in your own work, it must be open-sourced as well. More about GNU APGLv3 here

FAQ

Is this production ready?

No. Not yet. Flyde hasn't been truly battle-tested other than some internal use cases. However, if interest and usage grow there is absolutely no reason for Flyde to stay an experimental tool. If you're using Flyde for anything that is in production / has real traffic, please let me know!

Does it replace normal coding?

No. There are many things textual coding shines at. Algorithms for example would be a nightmare to build using Flyde. However, orchestrating 3 async APIs with a bit of transformation logic using Flyde feels just natural. Flyde is built to integrate with your existing code, not replace it.

What about performance?

Flyde is not optimized yet for runtime performance, nor was benchmarked. This means it should be slower than writing regular code. Just like JS is slower than C. That's the cost of abstractions. However, there are many possible ideas to improve its performance, so it's safe to say performance will improve drastically in the future.

What languages are supported?

Currently, only JavaScript and TypeScript are supported. However, because Flyde's a higher-level abstraction, I see no real logical barrier in adding support for other languages in the future.

Why did you build this?

Spending several years drawing and reviewing software design on whiteboards caused me to start dreaming of a small "run" button on the corner of the whiteboard. Modern development consisted of a lot of "glue" code, lots of concurrencies, asynchronicity, and third-party APIs. I find it hard to believe that developers will code the same way in 10 years, and I'm sure we're ready for the next abstraction. Flyde is my attempt to make that happen, and lower the barrier for developers to write complex software, just like Assembly did to punched cards programming, and C did to Assembly.

flyde's People

Contributors

gabigrin avatar jacobra19 avatar tokyros avatar

Watchers

 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.