Coder Social home page Coder Social logo

js-code-editor's Introduction

js-code-editor

A JavaScript Code editor in web technologies, written in JavaScript the runs in the browser. Initial UI based on bootstrap and backbone.

This project will run its UI in the browser and also supports a server side part (nodejs) that may take care of tasks like write changes to server's filesystem/db, multiple user sessions, perform javascript parsing and indentation (js-indentator) on the serverside.


WARNING: right now this project is just a proof of concept and will probably break your javascript code !


Installation

npm install grunt run TODO - this is grunt

File structure

client

model

All the application models used by all parts of the app, including persistence, UI modeling, services, etc. Backbone models are used for this task. Because it runs both on browsers and serverside nodejs code must be compatible in both.

##Why Backbone The idea is to model all the data with the SAME SINGLE javascript code. This goes both for the client and the server. We choose Backbone

server

optional but recomendable for do real FS writing, store on DB, user sessions and document security. uses mogose, express. Depends on model.

server/services server/persistence

Why a server?

#Ideas

this project is experimental and is being made learning some techs at the same time so it has divergent kind of tests and it is full of ideas which I will try to describe in this section.

At the end, one of the major objectives will be try to implement a Javascript IDE like application, in the sense of IDE it will provide many user tools based on js ast parsing like prettify, outline code hierarchy, autocomplete and autodiscover of objects. In this first implementation, Javascript language tools implementations will have more focus on editor model - extensibility.

Compared to other more static languages like java, JavaScript is not friendly for designing IDE like tools for helping the language authors. In general, ordering the code in Object oriented ways is a complex problem or even impossible. For example, in JavaScript you compose classes dynamically and there is no a formal-language way of defining this kind of information. For autocomplete and autodiscover class capabilities we need an artificial syntax for doing this for example jsdoc-like.

Also some OO meta information could be extracting by implementing plugins targetting an individual 3dr party implementation like requirejs, commonjs, amd.

js-code-editor's People

Contributors

cancerberosgx avatar

Stargazers

 avatar

Watchers

 avatar James Cloos 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.