purpose
Learn to design and develop complex projects.
Design and develop an IDE for web development.Requirements
Are common
Cross-platform (+ use of the native interface in each of the selected operating systems)
Multilingual
Extensibility
Editor
Syntax Highlighting (+ indication of syntax errors)
Tooltips when hovering over entities in code
Code Completion
Snipples
Work with several documents at the same time
Supported programming languages / markup
HTML
Choosing a standard for tips
CSS
Using CSS2, CSS3 standards (optional) for hints
Javascript
Using JsDoc for hintsArchitecture
Very interesting part of the design. There are no clear requirements for its design. Very often it contains various diagrams.
Programming language: C # (meets the requirements and I know him quite well)
Runtime: .net (Windows), mono (Mac OS X, * nix)
Target platforms:Spread:
- Mac OS X (since version 10.5.0)
- * nix (the list of distributors in the future should be clarified)
- Windows (since version 2000)
Project structure:
- Mac OS X - dmg
- * nix - in packages specific to each distribution.
- Windows - as an installer
- Editor
- Syntax highlighter (with easily extensible list of languages)
- Document structure analyzers: HTML, CSS, JavaScript
- Snippets Manager
- Wednesday
- Settings Manager
- Hot Key Manager
- Interface manager
- Toolbars
- Data fields (file structure, document object model, ...)
- Extensibility
- Extensions in the form of full libraries
- Scripting JavaScript extensions
- Interface
- Implementations
- WinForms (Windows)
- Gtk # (* nix)
- Cocoa # (Mac OS X)
Source: https://habr.com/ru/post/39537/
All Articles