Resetting Yorot, again

Lately, some stuff Yorot used just disappeared and Yorot’s source code became too complex with less flexibility. In order to start working on Yorot, the entire project has to be reset yet again.

Yorot in its development life had problems to became a cross-platform desktop web browser.

The first issue is the framework to use to surf web. Originally, almost every C# project uses CefSharp and it makes sense to use a library that is easier to use and most supported out of all. However, CEF and Chromium are availabel for all platforms but not CefSharp, which is Windows only (because its core is written in Micorsoft’s Visual C++ and not C++ meaning its only available to Windows). There are of course alternatives to CefSharp, one being CefNet.

Around July-August this year, CefNet’s GitHub repository is deleted and the entire project was unmaintained for 2 years.

The other alternative is CefGlue. Originally, CefGlue used to have Avalonia support but now its absent. However, OutSystem’s fork of CefGlue does support Avalonia. But it does not support Linux (which I use daily now) and Avalonia 11 (which I want Yorot to use). But there is a progress on Linux support side, I did managed to get CefGlue working on Linux. But until it is actually supported, I have to use some virtual “web engine” to test stuff.

Also, Yorot used stuff that are too terribly old and no longer maintained (even by me). In order to fix these issues, I decided to reset the entire Yorot system. Don’t worry, most of the stuff that previously were implemented will be here.

Current Scheme:

  • Official Yorot Flavor
    • Desktop: The main program itself.
    • Yorot Standard: Library used by flavor developers, app developers, renderer developers etc. to communicate with each other.
      • Yorot File Structure: Hierarchal file structure that Yorot will use. (similar to the structure used by *nix systems like Linux, BSD etc.)
      • Yeni File System: File system that Yorot will virtually mount and read Yorot File Structure from. (similar to Linux Extended, NTFS, FAT etc.)
    • Yorot Apps AppForms: GUI language that Yorot apps will use.
    • Yorot Apps Avalonia Renderer: Avalonia renderer for AppForms to render Yorot apps with Avalonia.
    • Yorot Pseudo Browser (virtual “web browser”): Fake browser to use while testing stuff.
    • Yorot Apps: General apps to bundle with.
      • Calculator
      • Files
      • Gallery
      • Store
      • Settings
      • Terminal
      • Notes
      • Downloader
  • Other Yorot flavors
    • Other Yorot flavors using different renderers and web browsers. Made by community, will available in installer.
  • Yorot Installer (for all platforms except mobile platforms)
    • Single executable
    • Official flavor, with option to install another flavor.
    • Multiple flavor picking.
    • Build flavor from source.
      • Flavors can tell what stuff required to build.
    • Update
    • Uninstall
    • Long-Term Versioning for flavors.

Currently, the GitHub repository will not be updated until this scheme is properly implemented. Yorot will receive few pre-releases when everything except the web connection part is ready. When that part is also is ready, Yorot will finally be release to public.

Scroll to Top