bbcmicrobit / bbcmicrobit/PythonEditor
Working on a new iteration of the micro:bit Python Editor
- 主要语言
- JavaScript
- 星标
- 201
- 派生
- 126
- PR 合并指标
- 30 天内没有已合并 PR
描述
We’ve been working on a new iteration of the Python editor for the micro:bit. 🐍🎉✏️
We thought it made sense to raise an issue here to signpost it for all the contributors and users of this repo.
## Goals of the new iteration
We started out looking at how we could iterate on the design of the micro:bit Python editor to help make Python as a language more approachable for a diverse audience, especially those who may not already be confident with code. We want to support people whether they are new to computing, or coming from block-based languages.
The goal was to keep things as a text-first editor, that is friendly, approachable and helps you explore the features of the micro:bit and (Micro)Python to create and understand your code.
To do this, we think it is important to make some significant UX changes.
## New architecture and source location
As part of the UX overhaul, we are also taking the opportunity to revisit the technical foundations of the micro:bit Python Editor. Some of the requirements that existed at the time this editor was built aren’t as relevant today, and the web stack has moved a lot since 2015!
For example, we’re moving away from jQuery to a TypeScript/React stack, and aiming to build the editor out of components that are also re-usable by other micro:bit Python editors (a direction that’s worked well with [microbit-fs](https://github.com/microbit-foundation/microbit-fs), and [microbit-universal-hex](https://github.com/microbit-foundation/microbit-universal-hex)).
As this project has a significantly different structure, we’ve started a new GitHub repository at https://github.com/microbit-foundation/python-editor-next.
There’s a deployment up at https://python.microbit.org/v/alpha
## Status of the new editor
This is very early stages! We definitely don’t think it’s ready for day-to-day use, and lots of the things we want to add to the editor aren’t there yet….
The initial goal of this alpha release is to reach feature parity with the current editor, learning from all the things people love; the simplicity, the focus on the code as the main element, and access to the MicroPython REPL from a WebUSB capable browser.
Part of developing in the open and being responsive to feedback from our audience means our editor roadmap has to be flexible. However, we are currently expecting to include work on:
- adding supporting documentation and educational content to the sidebar to help people explore micro:bit features in the context of MicroPython
- detecting and highlighting syntax errors
- effective autocomplete for the micro:bit API
- and longer term... how best to bring in some of the research done on simulation into the editor
- making this a best-in-class, text-first Python Editor for everyone
## Come and help 🙂
We hope the use of a more modern set of tools will make collaborating on the editor with a wide community of micro:bit enthusiasts easier. If you’re interested in working on the editor join us over at the new repository.
We are sharing this news early in the development process, to get your feedback and let you know how to get involved.
## What's happening to python.microbit.org and this codebase?
Nothing will change on https://python.microbit.org in the near term. This announcement is to help gather feedback on the newer editor.
Our main development effort will switch to the new editor codebase, where we plan to add more features and run a wider beta testing program with an educational audience before making the new editor the default.
When the new editor is made live, the current version will still remain available at https://python.microbit.org/v/2, built from this repository.
贡献指南
调研方向
This issue is an announcement rather than a scoped change in the current repository. Read the new python-editor-next repository and its alpha deployment first; any contribution should be made there, while this codebase remains available for the current editor at python.microbit.org/v/2.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript, jquery, python, react, typescript
- 领域
- frontend, web-dev
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 10/100