Open lemanschik opened 1 year ago
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.
Show Systrace Examples
strace hostname
reveals usage of uname -n
strace uname -n
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.
Be the successor that is feature complet of the following products:
VSStudio
VSStudio - Visual Stealify Studio IDE
[ ] Stealify Installer working (fdo concepts)
[ ] Working minimal build vscode/vscodium electron
[ ] Migrae Porting VSCodium / Theia / Code Server to @stealify/editor
[ ] @stealify/jint-bidirectional modules and component that can expose.NET Compatible apis.
[ ] @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