Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

@stealify/VSStudio #25

Open
14 tasks
lemanschik opened this issue Apr 6, 2023 · 3 comments
Open
14 tasks

@stealify/VSStudio #25

lemanschik opened this issue Apr 6, 2023 · 3 comments

Comments

@lemanschik
Copy link
Contributor

VSStudio

VSStudio - Visual Stealify Studio IDE

  • Stealify Installer working (fdo concepts)

    • VSStudio Installer based on the Advisory Concept.
  • Working minimal build vscode/vscodium electron

    • Working minimal build vscode/vscodium web + extension-host
  • Migrae Porting VSCodium / Theia / Code Server to @stealify/editor

  • @stealify/jint-bidirectional modules and component that can expose.NET Compatible apis.

    • Unreal Engine Integration
      • Unreal.JS Addon inside the Unreal Engine
    • Unity Support
  • @stealify/editor Monaco/Monarch reimplementation module and component that can expose a text area and all its events. as also some generic basic concepts and methods added to allow easyer reuse.

  • Merge Porting Process Components

    • @stealify/theia mpdules and components to implement theia interop with VSStudio
    • @stealify/vscode mpdules and components to implement vscode interop with VSStudio
    • @stealify/code-server modules and components to implement code-server interop
@lemanschik lemanschik changed the title @stealufy/VSStudio @stealify/VSStudio Apr 6, 2023
@lemanschik
Copy link
Contributor Author

Fundamentals

They did mostly all lie to you!

Chapter 1 Create your first Cross Platform Arch Application

The following is a Complet Application it runs anywhere and is written in ECMAScript because that is the most Dynamic Highlevel Language that is still able to incremental adopt to readable code. and implements a well defined module system

export const helloWorld = () => "Hello World!";

This is all it takes to call that a Application! It returns Hello World! and is run able via a outer Component like a runtime for ECMAScript in this case maybe.

Chapter 2 Run your first Cross Platform Arch Application

This is the Hard part and the reason why terms like devops do exist. As you learned before it takes not much to create Cross Platform Arch Compatible code as it is simply text.

A Interpreter or Compiler of that text will make it run able on any Platform or Arch. So a Compiler and or Interpreter needs to exist as only register based code is run able on hardware.

Chapter 3 what is a operating system

It is a collection of drivers and implements the concept of run able components. That is often referenced by the term userland where a user can define what he wants to execute and how.

Chapter 4 what is a compiler

A Compiler gets implemented in a so called compiler Language that needs to be a low level language most best not directly register based but it needs to include rules to create register based code most people call such code ASM or Assembly Language.

to clean up the terms we call some projects that call them self compiler transpiler because they do not directly compile executeable results. a Compiler is always something that produces run able code on hardware and everything else we call transpiler. TypeScript for Example is a transpiled language while Stealify and ECMAScript are compiled or transpiled languages that destinguished if you use a transpiler or compiler with them. V8 for example is often referenced as a Engine but it is not that it is a Compiler with a Engine Implemented on top of it.

Chapter 5 What is a Engine

a Engine is a construct for Runable code it gets often referenced as Application a Engine is a generic Application that often has some functions to dynamical or static link external code.

In Stealify every Component is a own Engine so it is a self run able code unit that can execute and load other components if it gets a component passed to it that allows that.

Chapter 6 Environment

The Environment a Runtime or Engine aka Component from now on runs in is described in Chapter 3 when it is not a Context which comes in chapter 7

Chapter 7 what is a Context

a context is a abstraction unit for one or more components including the whole environment it runs in this allows you to define things that take no user mandatory user input. for example your browser implements many Contexts some are user accessible some are not.

Conclusion Solution

Code Generation is the key to succes in your overall development process while it is enjoyable and needed to write code you will most often need to use and maintain code to run your coden then you need to creat real production ready functional code.

@lemanschik
Copy link
Contributor Author

Show Systrace Examples

strace hostname

reveals usage of uname -n

strace uname -n

@lemanschik
Copy link
Contributor Author

VSStudio

This is a mixture of best practices that we saw in the Open Source World that we Combined together into a usefully starter Application that can build it self with other components.

It is a perfect example of what we create when we apply the build our self pattern with the stealify component system pattern. We Replace so many Applications and Feature Implementations with a single Software Product that is simple to Maintain even as a Single Developer it is able to get enrolled in Production. Something that was only possible with Extensive cloud provider or administration knowledge.

  • merge: vscodium build process
  • merge: electron-compat for Handle based PeerConnections
  • merge: code-server build process
  • merge: @stealify/editor
  • merge: baker browser feature set
  • merge: PeerConnection Recorder and Player
  • merge: Streaming Broadcaster interface for rtc-cluster/rtc-cluster
  • merge: @stealify/webplatform

Goals

Be the successor that is feature complet of the following products:

  • vscode
  • theia
  • code-server
  • baker-browser
  • obs
  • WPEWebKit
  • WebView2
  • Chromium Content
  • MOJO:IPC
  • Couchbase
  • Oracle Database
  • Oracle GraalVM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant