Giter Club home page Giter Club logo

vargin's Introduction

Vargin

Vargin is easy to use Web IDE that allows you to create mobile/desktop web applications based on widely known component architecture. You don't have to be developer to get started as creating new app is as simple as just adding functional pieces via drag&drop from available list of visual (button, form, header, ...) and service (device camera or mic, Bluetooth LE, any web service integration and etc.) components.

Using full power of modern web browser you can customize and style your components as much as you wish!

You work can be exported to ready-to-go optimized web application or platform independent JSON format that can potentially be used by native application generator. If appropriate application generator is available you can pack your lovely IoT board with any application or service you need.

In case you want to go with web application (that is highly recommended default option!) application will be based on modern web stack that will provide you with multithreading, plugin-less media and first-class offline experience.

Vargin is successor and inspired by my old fancy project Mikapp and Style My Image! tool.

Current status: [in active development] (https://vargin.github.io/vargin/dist/dev/editor).

vargin's People

Contributors

azasypkin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

vargin's Issues

Design concept of Components

We need concept of base abstract component that can base for the following things:

  • UIComponent - ButtonComponent, InputComponent or LabelComponent;
  • ServiceComponent - DataSourceComponent or WorkerComponent.

Make Container and Dymanic components look like in compiled application

Currently we have too many intermediate elements so that simple div ---> button structure looks like:

  • Container component
    • Container content
      • Dynamic component
        • Button component
          • Button content

It's too much and makes styling difficult since only Fx supports display: contents that these intermediate elements can use. So we need to find acceptable solution.

Editor should support multi paged app

In this app we should add support of multiple pages apps:

  • User can add/remove pages to the app;
  • User can setup very basic navigation flow from one page to another.

Introduce DOMAngularApplicationCompiler

Scope:

  • Default app generator will generate web application based on Angular2 lib;
  • Stages of component markup generation:
    • Styles are composed to dynamic class;
    • HTML markup;
    • index.html:
      • References to custom stylesheet;
      • References to angular libs;

Create basic component properties pane

Scope:

  • Properties pane should be displayed;
  • Component can be selected;
  • Properties pane should respect currently selected control;
  • Changes in property pane should immediately be propagated to the work-space;
  • Basic properties for this bug are: text and title.

Support ChangePropertyAtion

In this bug we'd like to introduce ChangePropertyAction that will be responsible for changing any control property on any event.

Drag & Drop support for the container component

Scope:

  • Editor should allow to drag controls from control pane to the workspace area;
  • Container component should be able to retrieve control that is dragged and render it alongside with the rest of its children.

Support URL property binding

Currently URL property has value in "{type}:{value}" format, so we should be able to support "bind:{binding-property-name}" as well

Develop basic concept of event management

Scope:

  • User should be able to set event handlers for the components;
  • User should be able to connect events with actions;
  • As the first step we'd like to:
    ** Change label name on button click;
    • Change button color on button click;
    • Change label background color on hover.

Dependencies:

  • Introduce support of default properties and styles (#14)
  • [Events] Implement basic Action entity (#13)
  • [Events] Implement MessageChannel and Message (#12)

Create basic app editor

In the scope of this bug we should have basic app that allows to:

  • List all components (left side);
  • Editor field.

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.