TouchDevelop/README.md

110 строки
3.4 KiB
Markdown
Исходник Обычный вид История

2015-02-04 19:07:58 +03:00
![](https://az31353.vo.msecnd.net/c04/uxoj.png)
# TouchDevelop
2015-02-04 22:48:06 +03:00
TouchDevelop is a touch-friendly app creation environment for iPad, iPhone,
2015-02-05 03:36:53 +03:00
Android, Windows, Mac, Linux developed with <3 at Microsoft Research. Our
2015-02-04 22:48:06 +03:00
mobile-friendly editor makes coding fun, even on your phone or tablet!
2015-02-04 19:07:58 +03:00
2015-02-05 00:52:26 +03:00
[![Build Status](https://magnum.travis-ci.com/Microsoft/TouchDevelop.svg?token=xmP93nU7s938rQtURxVz&branch=master)](https://magnum.travis-ci.com/Microsoft/TouchDevelop)
**This repo contains the source code of the TouchDevelop editor.** If you are
intending to write TouchDevelop scripts, you probably want to go to
`touchdevelop.com`:
2015-02-04 19:07:58 +03:00
* **stable:** https://www.touchdevelop.com/app
* **beta:** https://www.touchdevelop.com/app/beta
Other pages of interest:
* landing page: [https://www.touchdevelop.com](https://www.touchdevelop.com)
* blog: [https://www.touchdevelop.com/blog](https://www.touchdevelop.com/blog)
* Hour Of Code tutorials: [https://www.touchdevelop.com/hoc](https://www.touchdevelop.com/hoc)
2015-02-04 19:07:58 +03:00
2015-02-04 22:48:06 +03:00
## What's in this repo?
2015-02-04 19:07:58 +03:00
The repo is mostly written in [Typescript](http://www.typescriptlang.org/) with tiny pieces
of HTML gluing.
This repo contains the source code for:
* the browser client
* the compiler
* the editor
* the runtime
* the node.js client
2015-02-04 22:48:06 +03:00
However, you will not find the cloud backend code here. Indeed,
[https://www.touchdevelop.com](https://www.touchdevelop.com) takes care of
storing and managing the scripts.
2015-02-04 19:07:58 +03:00
## Contributing
2015-02-04 19:52:32 +03:00
2015-02-04 20:01:53 +03:00
There are many ways to [contribute](https://github.com/Microsoft/TouchDevelop/blob/master/CONTRIBUTING.md) to TouchDevelop.
2015-02-04 21:23:42 +03:00
* [submit bugs](https://github.com/Microsoft/TouchDevelop/issues) and help us verify fixes as they are checked in.
* review the [source code changes](https://github.com/Microsoft/TouchDevelop/pulls)
2015-02-04 21:23:42 +03:00
* [contribute bug fixes or features](https://github.com/Microsoft/TouchDevelop/blob/master/CONTRIBUTING.md).
If you're not a developer but still would like to help, we've got more tasks for you!
2015-02-04 21:23:42 +03:00
* [help translate the user inferface](https://touchdeveloptranslator.azurewebsites.net): do you use TouchDevelop and speak a foreign language? You can help!
2015-02-04 19:52:32 +03:00
2015-02-04 22:48:06 +03:00
## Building
2015-02-04 19:07:58 +03:00
2015-02-04 19:52:32 +03:00
In order to build TouchDevelop, ensure that you have [Git](http://git-scm.com/downloads) and [Node.js](http://nodejs.org/) installed.
Clone a copy of the repo:
git clone https://github.com/Microsoft/TouchDevelop.git
Change to the TouchDevelop directory:
cd TouchDevelop
2015-02-04 19:07:58 +03:00
Install dependencies:
2015-02-04 19:52:32 +03:00
2015-02-05 01:56:53 +03:00
npm install jake -g # skip this step if you're on Windows
2015-02-04 19:07:58 +03:00
npm install
Build:
2015-02-04 19:07:58 +03:00
jake
2015-02-04 19:52:32 +03:00
2015-02-04 22:48:06 +03:00
## Running
2015-02-04 19:07:58 +03:00
2015-02-04 22:48:06 +03:00
After building, you can run TouchDevelop from a local node server by running:
2015-02-04 19:07:58 +03:00
2015-02-04 22:48:06 +03:00
jake run
# or, if port 80 is already used on your machine
jake run[8080]
2015-02-04 19:07:58 +03:00
2015-02-04 22:48:06 +03:00
## Tests
2015-02-04 19:07:58 +03:00
2015-02-04 22:48:06 +03:00
jake test
2015-02-05 21:50:41 +03:00
## Cleaning
2015-02-05 21:50:41 +03:00
jake clean
## Documentation
All the docs are available online at
[https://www.touchdevelop.com/docs](https://www.touchdevelop.com/docs).
The docs are authored as TouchDevelop scripts in TouchDevelop itself. You can
fork them and send pull requests from TouchDevelop itself to update them.
2015-02-05 21:50:41 +03:00
## More handy commands
Our catch-all tool is `build/client.js`, which is compiled from
`nodeclient/client.ts`. Some of the common invocations of `client.js` are
exposed as Jake targets.
# assumes TD_UPLOAD_KEY and TD_UPLOAD_USER are set, uploads a new test build
jake upload
# update the files in generated/
jake update-docs
Find out about other commands directly:
node build/client.js
The `client.js` is built by default.