Coder Social home page Coder Social logo

praveenmunagapati / wide Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 27.87 MB

:fireworks: A Web-based IDE for teams using Go programming language/Golang. 一个基于 Web 的 Go 语言 IDE。https://wide.b3log.org

Home Page: https://hacpai.com/tag/Wide

License: Apache License 2.0

Go 5.52% Shell 0.07% JavaScript 78.96% CSS 3.18% HTML 12.27%

wide's Introduction

Have a try first, then download and setup it on your local area network, enjoy yourself!

先试试我们搭建好的在线服务,你可以在这里下载并在本地环境运行,然后邀请小伙伴们来玩吧!

  • 关于 Wide 的产品定位,请看这里,并欢迎参与讨论~
  • 加入黑客派,与其他程序员、设计师共同成长!

Introduction

A Web-based IDE for Teams using Go programming language/Golang.

Hello, 世界

Authors

Daniel and Vanessa are the main authors of Wide, here are all contributors.

Wide 的主要作者是 DanielVanessa,所有贡献者可以在这里看到。

Motivation

  • Team IDE:
    • Safe and reliable: the project source code stored on the server in real time, the developer's machine crashes without losing any source code
    • Unified environment: server unified development environment configuration, the developer machine without any additional configuration
    • Out of the box: 5 minutes to setup a server then open browser to develop, debug
    • Version Control: each developer has its own source code repository, easy sync with the trunk
  • Web-based IDE:
    • Developer needs a browser only
    • Cross-platform, even on mobile devices
    • Easy to extend
    • Easy to integrate with other systems
    • For the geeks
  • A try for commercial-open source: versions customized for enterprises, close to their development work flows respectively
  • Currently more popular Go IDE has some defects or regrets:
    • Text editor (vim/emacs/sublime/Atom, etc.): For the Go newbie is too complex
    • Plug-in (goclipse, etc.): the need for the original IDE support, not professional
    • LiteIDE: no modern user interface :p
    • No team development experience
  • There are a few of GO IDEs, and no one developed by Go itself, this is a nice try

Features

  • Code Highlight, Folding: Go/HTML/JavaScript/Markdown etc.
  • Autocomplete: Go/HTML etc.
  • Format: Go/HTML/JSON etc.
  • Build & Run
  • Multiplayer: a real team development experience
  • Navigation, Jump to declaration, Find usages, File search etc.
  • Shell: run command on the server
  • Web development: HTML/JS/CSS editor with Emmet integrated
  • Go tool: go get/install/fmt etc.
  • File Import & Export
  • Themes: editor and UI adjust, respectively
  • Cross-Compilation
  • Debug
  • Git integration: git command on the web

Screenshots

  • Overview

    Overview

  • Goto File

    Goto File

  • Autocomplete

    Autocomplete

  • Theme

    4

  • Show Expression Info

    Show Expression Info

  • Build Error Info

    Build Error Info

  • Git Clone

    Git Clone

  • Cross-Compilation

    Cross-Compilation

  • Playground Playground

Architecture

Build & Run

Build & Run

  • A browser tab corresponds to a Wide session
  • Execution output push via WebSocket

Flow:

  1. Browser sends Build request
  2. Server executes go build command via os/exec
    2.1. Generates a executable file
  3. Browser sends Run request
  4. Server executes the file via os/exec
    4.1. A running process
    4.2. Execution output push via WebSocket channel
  5. Browser renders with callback function ws.onmessage

Code Assist

Code Assist

  • Autocompletion
  • Find Usages/Jump To Declaration/etc.

Flow:

  1. Browser sends code assist request
  2. Handler gets user workspace of the request with HTTP session
  3. Server executes gocode/ide_stub(gotools)
    3.1 Sets environment variables (e.g. ${GOPATH})
    3.2 gocode with lib-path parameter

Documents

Setup

Download Binary

We have provided OS-specific executable binary as follows:

  • linux-amd64/386
  • windows-amd64/386
  • darwin-amd64/386

Download HERE!

Build Wide for yourself

  1. Download source or by git clone https://github.com/b3log/wide
  2. Get dependencies with
    • go get
    • go get github.com/visualfc/gotools github.com/nsf/gocode github.com/bradfitz/goimports
  3. Compile wide with go build

Docker

  1. Get image: sudo docker pull 88250/wide:latest
  2. Run: sudo docker run -p 127.0.0.1:7070:7070 88250/wide:latest ./wide -docker=true -channel=ws://127.0.0.1:7070
  3. Open browser: http://127.0.0.1:7070

Known Issues

Terms

  • This software is open sourced under the Apache License 2.0
  • You can not get rid of the "Powered by B3log" from any page, even which you made
  • If you want to use this software for commercial purpose, please mail to [email protected] for a commercial license request
  • Copyright © b3log.org, all rights reserved

Credits

Wide is made possible by the following open source projects.


wide's People

Contributors

88250 avatar vanessa219 avatar khjde1207 avatar mattn avatar muyuballs avatar shiyou0130011 avatar gitwillsky avatar admpub avatar avivrubys avatar gaomd avatar paladintyrion avatar thewhitetulip avatar tjyang avatar gitter-badger avatar codeskyblue avatar youymi 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.