oleg-shilo / cs-script

C# scripting platform
http://www.cs-script.net
MIT License
1.62k stars 235 forks source link

Reference Framework Assembly #312

Closed hanlectin closed 1 year ago

hanlectin commented 1 year ago

Scenario:

I use cs-scipt in hosted model. My solution contains a (static) library[*1] (which will later be referenced by the runtime script code) with mostly functions but also some UI stuff, hence it targets Framework 4.7.2.

Everything is fine, if I later (at runtuime) compile and run some script-code[*2] referencing the above static library.

But now I would like to reference the runtime assembly form[2] from another (usually short) script[3], which should use functionality of [2] Info: [3] should provide some kind of "Immediate Evaluation" (like Visual Studio's "Imediate Window") the test/debug code interactively...

Steps:

var info = new CompileInfo { RootClass = "Root" };
Assembly ass = CSScript.Evaluator
   .ReferenceAssemblyByName("myScriptLib")
   .CompileCode(scriptCode, info);
csScript = CSScript.Evaluator
   .ReferenceAssembly(ass)
   .LoadMethod(immediateCode); //contains a method 'Run()'
csScript.Run();

when csScript.Run(); is executed, an exeption is thrown: System.IO.FileNotFoundException: 'Could not load file or assembly 'ℛ*37c3da87-c376-41b3-b3f1-48e19abb2e53#1-0, Version=0.0.0.0, ...

Checking the intermittent 'Root.dll' (created in ass=...) with C# Dependeny-Walker I can see that System.Runtime.Loader.dll is missing. https://github.com/dotnet/runtime/issues/22732 tells me it's not possible to reference a Framework-Library as "System.Runtime.Loader is not supported for .Net Framework" :(

Questions:

Is there anything I am missing?

Is there a way to 'trick' cs-script to allow [2] being referenced by [3] (as someone pointed out: "System.Runtime.Loader is not supported for .Net Framework". You will have to use Assembly.Load() instead)

Any other ideas on how to interactively execute a method (or multiple statements) referencing public methods from [1] and [2] at runtime?

oleg-shilo commented 1 year ago
  1. The first point I want to touch on is that "System.Runtime.Loader". If it is not supported by your runtime then how "myScriptLib" got compiled and dependent on it? Maybe it somehow compiled by the wrong compiler and picked .NET Core dependency. Even though it's hard to imagine how. Anyway, somehow the newer framework dependency got injected.

  2. Any other ideas on how to interactively execute a method... Reflection will always work. But solving problem 1 will probably give you a more elegant way

hanlectin commented 1 year ago

I can't figure out what's going on... I'll try to set up a minimal example. Hopefully this gives some insight...

oleg-shilo commented 1 year ago

Agree, it is important to have a very clear dedicated "help world" stile sample for that. I am happy to look at that sample when it is ready.

hanlectin commented 1 year ago

Oleg, thanks for the offer to look at my sample.

BUT... I'm sorry - I was to busy coding/delivering other parts of the software. So there wasn't much time setting up a proper minimal example :( However, I did start with it tough, but there I got a different error message when I tried to perform the 2nd step... As I really want to provide an example that shows my problems closely, I need to find more time preparing it. Maybe I can even find the culprit myself then... Unfortunately I'm on holiday for a week now - after that, I'll try to finish the sample ASAP!

oleg-shilo commented 1 year ago

Not a problem. when you have time....

hanlectin commented 1 year ago

I'm sorry Oleg, my current schedule doesn't allow me to focus on this issue... It's still open and unsolved for me (as it would allow me to provide advanced features) - but the core system works and I need to concentrate on that first!

I don't want to keep an issue open for too long, so I'll close it for now. Hopefully I will find some time in the forseeable future - then I will try to reopen this issue (or create a new one?) with a stile sample attached...

thanks for now ;)

hanlectin commented 1 year ago

Dear Oleg,

I meanwhile managed to set up a simple demo-solution. I hope you can find some time to have a quick look at it and give me some hints on how to proceed. Please find a written summary of the issue below (sorry it's rather long, but I'm not able to describe otherwise)... Thanks!

general objective

a WinForms Application (for Measurement/Controlling/...)

the current implementation

"MainApp" is .NET Framework 4.7.2 (WinForms Application) //NOTE: we have a lot of reuseable UI-code written for WinForms, so switching to .NET and MAUI or AvaloniaUI is not currently an option "myScriptLib" is also .NET Framework 4.7.2 (as it also references WinForms)

1) MainApp (.NET Framework 4.7.2)

IMHO "CS-Script for .Net 5" should not work inside a ".NET Framework 4.7.2" project. but it does... whereas "CS-Script.bin (v3.30.5.1)" does not work for me (see above; at least the way I use it...). also its codebase seems much older...

2) myScriptLib (.NET Framework 4.7.2)

I attached a small sample-solution (CsScriptTest) for VisualStudio:

--> the reasons for using .Compilecode():

  1. assembly unload should be possible (most important!)
  2. I hopefully can use dnSpy (or similar) to provide debug-capabilities for the generated script-code later

It would be really helpful if you could check the sample solution for me and/or point me in the correct direction on how to archive the "general objective" as outlined above!

Thank you very much, Hannes

CsScriptTest.zip (the solution might need a full "rebuild all" to ensure testLib.dll and testLibWinForms.dll are copied to the main output directory in the post-build-step)

oleg-shilo commented 1 year ago

You will need to use the latest package. The script library is compiled for .NET Standard (even though it is a part of the CS-Script release fr .NET 7). This way it can be loaded in both .NET7 and .NET 4.* frameworks.

Though the implementation of assembly unloading is specific to .NET Core runtime and thus is not available for your .NET 4.7.

Fortunately you can still use assembly unloading. I have attached your reworked sample.

Note, because your script is executed now in the separate appdomain you may need to do extra serialization if you are to pass any non serializable types between your script appdomain and your application app domain.

Good luck.

cs-script-#312.zip

hanlectin commented 1 year ago

Thank you, Oleg! (especially for finding the time to look at it during christmas time ;)

I checked (and basically understood) what you're doing in the reworked sample... I'm a little sceptical, whether I can seamlessly use your solution in my project (mostly due to you're mentioned possible additional serialzation). Also there's the drawback of a much longer re-compile time (as obviously every referenced assembly needs to be reloaded in the separate appdomain on the re-compile) - but that wouldn't be a deal-breaker...

However, IF the final product should be a success, I might as well consider rewriting all the WinForms code to MAUI or AvaloniaUI and use .NET throughout... but that's a different story then :/

Thanks, and Happy New Year!

damian-666 commented 1 year ago

mabye you already tried this but i though id share some of my assessments and some others opinions who have seen the UI story of MSFT.

Or you might try to buld your UI as net7-windows. II did ths for WPF 10 years of legacy code but it tok 6 weeks. because of a issue that i was stuck on.. But first i ran this https://learn.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-overview. it said 99% compatible. easy and painless for most of the app.

this is just my general experience with moving 100% off net48 even if im targeting windows only still: then I can use the latest stuff and ditch Netstandard 2.0 .. some of the open sourc ecompenents have not updated, so i had to rebuild , submit PRs here and there and most were trivial.

if Yours UI and other is at least 95 % compatible then you might be able to ditch netstandard. build everything net 7. it will run all much faster especially maths. and not have to use net 4.8 . you can sill link legacy closed sources to it that use 4.8 . , But not projects that are shared dllls taht are not Netcore. but after the upgrade assistnat makes overlay complex project files and gives you your compatibilty report, , if you think it can be build at Net7.windows, i would suggest starting with fresh project files., create a new win forms app project and add your UI files and see what builds .

https://github.com/dotnet/winforms/blob/main/docs/porting-guidelines.md https://learn.microsoft.com/en-us/dotnet/core/compatibility/fx-core

but yes for a long term strategy Avalonia UI and its forks, looks alot more promisiing than Uno, UWP ( as good as dead) or Maui.. ( probably not going to be a good desktip UI with docking and tabs and floating windows, its just already been done why do it over?) . WPF has the advantang of requiring providing a layout description in pixels or some unit, without any sizes or aspects assumed. But still, winforms and WPF are too old to die, at least on windows and the Avalonia team has it on mac, linux and windows, including mobile windowign in beta for ios and android as well. there might be 5000 issues and 100 branches though.. I have not tried it yet. Maui has no linxu support and is faltering as a desktop target.. it might supplant xamarin fine, but as a one solution for desk and touch, its never been unified with touch , probably shouldnt, and probably will be easier for Avalonia haveing targeted desktop from inception to make parts of it work on mobile, rather thant maui trying to grow into a wpf / uwp replacement, which has little demand. noone asked for this . I asked for wpf on windows but thta cant happen because of the UI thread nuances and confilict of interest. Silk is stalling ,Uno, and many other MSFT UI attempts go to the elephant graveyard, with windows phone and silverlight and countless others which died young. wpf and even forms are too old to die...

we can still run a winproc c exe wiht SendMessage and HWNDS, from 1995, on windows 11.. evne wrap and deploy and host it in windows store if you care to , so these new UI langanges or lexicons seeem to either die young or are stone tablets , at least for windows, seems.

https://github.com/dotnet/winforms stilll going but not going to accept PR that make it support linux , and its not appropriate for full size differening aspect tablets and phones.

see the second answer here which i thik its wrong, https://stackoverflow.com/questions/68328963/how-do-i-compile-a-windows-forms-application-on-linux-for-net-core .But . i think the comments below it are accurate assessments.

oleg-shilo commented 1 year ago

Also there's the drawback of a much longer re-compile time (as obviously every referenced assembly needs to be reloaded in the separate appdomain on the re-compile)

Actually not. You compile the script into the assembly file and then you simply load it in the app domain. Then, when you need to use it again you simply do not recompile but take that assembly file and load it again in the new AppDomain.

BTW this will also ensure that you do not multiply the assemblies beyond the need

hanlectin commented 1 year ago

mabye you already tried this but i though id share some of my assessments and some others opinions who have seen the UI story of MSFT.

@damian-666 foremost: thanks for your elaborate text on "the UI story of MSFT"

for years (almost 10) i've been struggling with the decision what to choose after winforms: first there only was WPF - some projects in my previous company were actually ported with good success. in recent years I mostly worked on backend and only on smaller UI tools. however, I always wanted to move away from winforms, but beeing used to it -> it was always easiest to just start off with what you're used to :/ when some years ago MS switched focus to dotNET(Core) - with lack of UI support - I was looking for alternatives (C# w/ UI on linux would be advantageous to us, too). MAUI and AvaloniaUI where still at there early stages; WCF was not available for .NET - so I was stuck with .Net-Framework and WinForms. for some apps, I used MONO (on linux) and most of the non-Win32 code including WinForms worked just fine... however: still beeing tied to WinForms... then we started using some 3rd party components (DevExpress, Actipro): both only available for WinForms and WPF for .Net-Framwork... only test pre-releases with limited functinality for (mostly MAUI and hardly AvaloniaUI) were - and unfortunately still are - available.

I fear that it will still be years until many 3rd party components will be available for MAUI and/or AvalonaUI. with AvaloniaUI beeing my clear personal favorite!

until then, I won't find much time learning and experimenting with AvaloniaUI... I'll keep my eyes open and check the progress on these projects regularly!

damian-666 commented 1 year ago

thanks @halectin . @oleg-shilo i dont know how you manage to keep an overview while engaging individual customers to the smallest detail while still able to return for CEO mode to laserfocus mode and produce binaries, while running the tightest Open source vault/ ship on Github IMO. thx! Oleg lets me go on overly "Metaphysical" tangents and most people/ vaults don't like it, because THEY don't see the relevance. especially on threads related to specific issues where it indeed does not belong, sort of. but before one asks How ? one should ask WHY? that's why on StackExchange i often scroll down to the most downvoted comments to get the wisdom i want / and or need to solve "my" problems, or rather to give the fans , or customers a near term solution, while at least offer some relief from future proofing anxieties... and stay operational / relevant in a practical time frame (like, at least in a span of 1 life -year, but in software, that moves in dog years).

re: hat you mentioned.. (UI AND IDE CHOICES, legacy dependencies)

i dont konw if forms for net 6 will work for your legacy winforms /4.8 or nestandard2 solutions.. I'd advise in near term to stay on it.. or try to update to core with forms, untill things settle a bit. Before going to WPF because thast a very different and large learning curve. I do have very old 3rd party dependencies and it still works. I just can't link to sources based on netstandard 2.0. so i moved to net6 dlls. 3rd party Binaries that you link in as if com objects, to the dlls, are a different case, they might work.

a warning about the closed sources UI vendors you mentioned: My dependency is Devcomponents LLC ribbon and docking framework, with was dissolved in 2017 or so.. There is a new company , same name.. The website is certified as invalid, its scary to even visit and there are hacked versions online. the website is up but its got a bad certificate and i dont konw whats going on. but i have a legal license and the parts work on Core7-Windows.. on windows as before no regression and i work around the issues. as i mentioned I can't link to any projects in my solutions that reference NetStandard 2.0 which is why i went to net6-windows.. net6 forms might be a different beast.

Those DevExress Actripro you mentioned are still in business but last i check i think one had an arrangement with Avalonia maybe for the tabbed docking version. i cant see it anymore, Avalonia it looks VERY well sponsored and supported and all MIT. i want to slowly migrate to avalonia , incrementally and now i don't see the paid version. So maybe its free now i thiink I found some docking functionality. Payments are only accepted for support only to get and issues fixed soon.. this was the linux redhat model of business. Not sure where the docking or best one is yet ...found some to check out ive put below if its not in the main branch. also node grapsh where expressions can go.

my Devcomponents dependency is for docking, tabs, tear-off, saving layouts and IDE UI stuff. All of which is looking and feedling dated. But i can stick an AvaloniaEdit control in there with no problems. worked aroudn issues. I use it to host my for my Script text editor display.so I wont use closed source from small orgs without an license clause that states they will open the source if they dissolve. The Devcomponets licenses maybe i think maybe still be sold, but never updated. So i think they dumped it on someone with zero ethics and zero staff. just speculation. dont even dare revisit the page, bad security certificate. company dissolved , reincorporated, same name??? very shady.

soo i started sponsoring some of this projects and am looking for alternatives. like this .. https://github.com/wieslawsoltes/Dock

I am failrly sure Maui isnt a good investment for UI now but the and WPF do both use XAML/ dependency properties and such i guess.. Now some are using React, I don't think it's for me , i need to control the timing and sync.

on the topic of going full net6 / 7.. i dropped netstandard 2.0 , 4.8 ( in my source) now seems the consensus is we gotta do this. took me 6 weeks. I and can use Core 7/6 and WPF w not regression.. I almost had to dig up 3rd party dependencies from archives and some of those archives even got recent updates via MSFT staff..

as for going to xaml Avalonia,, im still exploring it for multiplatfrom and to get off my old dockig thing. Dev Studio itself uses WPF so i doubt they can say it's gonna be subsumed by MAUI anytime soon .

If you are targeting phones or using Xamarin forms I do use Maui but only under the hood as I use Xamarin for my phone builds. This is a one liner.. I use Maui only on mobile because of dependencies that wont support Net standard or old xamarin. But for EXEs i use Net7.Windows- and "use WPF".. I tried using Maui to make a desktop app for windows or mac. and its nowhere near Hello World last i tried.. its 2- 3 years late. But for mobile it does not bloat Xamarin much and the forms code still seems to be backwards compatible . So i use a separate netcore EXE for each platform, one for open GL ( console like) , and one for windows.

what I did for dependencies was this:

true OR https://www.syncfusion.com/blogs/post/touching-base-with-net-maui-essentials.aspx true For me I could not use one wihtout setting or <true tbut my code is still Xamarin Forms. That's ONLY if you are targeting phones/tablets Then i render via Monogame.. there is Myra which is a XAML like thing for monogame.. There is IMGUI an industry favorite in game editors. BUT.. As far as i know this is are immediate mode.. it doesnt have dirty /clean parts .. it triangulates text and uses GPU to render every frame, at 60 fps. I dont know if ImgUI is declarative like XAML ( which has its pros and cons) So i plan to incrementally move towards Avalonia UI parts for now and / use monogame integration for some of the visualization. i draw at 60 hz and i can cull at will.. multi-platform thin Game Frameworks are being used for other applications besides games,..including realtime OS stuff UI . dev studio i believe uses WPF and supports mac.. so... not sure... if netcore WPF mac will happen.. They might have it.. Docking tabs and resizing are very troublesome i might warn ActualSize and Size are not the same and the layout / dependency property engine, the order of events is a big source of trouble. one bit to add.. MSFT is at infancy stages with alternative editing via touch/low latency voice command, misdirected AI, and ARM. on devstudion on a surface, Id love to debug via touch and /or stylus and or voice if was domain specific /low latency and not uploading my data. Im not going to type on it virtually kb or use handwriting either. So i have custom UI in monogame for buttons, for my simple phone target app, that is defined via coordinates, Like winFORMS layouts, because the form factors and size don’t vary that much, and only one or two windows w maybe a splitter will fit. But on biggest screens, an IDE with declarative flexible layouts, stack panels, grids, wpf is without parallel that i can see, and you might possibly want to consider those non-mouse, no keyboard kind of UI. touch, stylus , etc. I'm also looking at https://github.com/wieslawsoltes/NodeEditor also I'd like to put some scripts or evals expression in those kind of things.... some of my plugin scripts could be more visual like that... I see a lot of buzz about Reactive but i need to control the timing and sync so i don't think i will go there. The failure of windows 8, the epic failure of UWP, and windows 8, windows phone was the attempted Grand Unification Ideal. That said, MSFT is the #1 at generalizatoin. so i learned when to WAIT. for example ((#offtopic) image sharp has pages of a special processor specific code branches per processor for intrinsics on simd.. now with net 7 , its generalized. for homogenous vector types vector2, 3 4, and mattrix math, in Numerics ( at least for floats for now) , they are generalized in net 7 opimized by MSFT payrolled Phds under the hood. hoping they do same for vector or Vector2. ive used COM and its general binary serialization by MSFT since day almost it came out, advocating it for my old company. .Net is the generalization of COM. So I have used WCF just for DataMember serializers just because it was there (back to something you mentioned) anyways maybe belongs on another idea thread.. ( UI hosts) , just thought id write my thoughts i really need to stop using my old ui at some point but its being changed rapidly i might wait a bit more. For now I'm watching vaults and trying to raise VC $ , so i can afford to sponsor important projects, like this .. and finally have some sudden barrage interest afer 10 + years of ony cult interest in what i do, :) people expect all the projects to be managed/ curated / or powerhoused for free. i see this changing via the git sponsor program instead of the patrion thing..
oleg-shilo commented 1 year ago

Thank you @damian-666.

@oleg-shilo i dont know how you manage to keep .....

I know 😄, it's not easy. But I am still standing...

I enjoyed reading your post. Lots of very interesting and intriguing points.

Like you I am excited to see a spike in activities around unified portable UI platforms based on .NET. And the fact that there is more than a single direction makes it really promising. Though I cannot get rid of this slight disappointment... If only this was happening 10 years ago! Then it would be a fundamental game changer. With the time lost and WEB UI having so much traction with the devs of all levels and the business so heavily investing in it... I am very intrigued and watching closely how far .NET XAML reincarnation will go (in one or another form).

damian-666 commented 1 year ago

im just blown away now. this is my 8 hours of addcitional assessment... on special IDEs and UI and rendering stuff on tablets, macs and windows, maybe some AOT lkie Rasberry Pi . maybe w touch.. and even piecing in other low level generalizers on audio and touch. and the um somewhat generally relevant AI stuff.. if anyone cares to read.. i think i got me a plan.. for game level editor with some control graphs and script and evals...mabye teh soft debugger.

now that github ahas a new way to get recognized it you give even 10$ a month some oft hs massive projects can see you arent just whining or asking featrus out of scope or submitting PRs taht are hard to merge so you can contribue wihtout having to mess up the gits or submit spelling checks PRs.. if i need something fixed you can bet , really only a few people do most of the work..so they want cahs money... like of 10 engineers at Autodesk it was liek 2 of us who dare to gut the code and fix stuff properly withotu bandaid hackss.. its was a 30 year ol codebase tho. so if i see someone say at Mircosoft ripped in half by conflciting intererests i can give them money (i doubt they will accept patronage tho) because taht must suck..JetBrains and WPF and Avalonia all are in each others zones.. You can even see the flame wars.. i guess MSFT just care abougt selling BS AI services. tooling isnt a big deal in the pie except for jetbrains.

still i think wpf is avalonia and microsfot might be allowed to contirbute to it.. im not sure. Jetbrains has better suppport for it.. im in "too many options" land but im gonna at least sus this out... and focus on the avalonia in next release .. slowy add stuff from it or too it... tis also using Reactive in some parts ..that isnt something i wanna learn.. plan to avoid

his avalonia ui code demos even run in WASM in browser , no floating windows of cource..

But ive decided. for me Maui is just to build xamarin with new stuff hat wont link. its still a barely bloated xamarin.. one screen.. Maui as UI for desktop is two late, and illconceived.. its seems the concensus.

https://www.reddit.com/r/csharp/comments/lx9lqn/net_maui_or_avaloniaui/

dont care if my app looks apple like.. on ios.. and material design of android bores me. .and apple looks like well 20 years old. and antehring related to UWP in any way in its lineage is out. so Flutter is 5 years old and Avallonia is about 7 or more at least.. now look funded.. so i dont want the native ui i thiknk...which is not how Avalonia generalizes. it draws the ui pixels. i dontkonw about nauced input and localization . in my case an ide would only make send on a big tablet, or on a desktop.

the dock thing doesnt take stylus input .. yet.. but via monogame i can get taht.

image

https://avaloniaui.net/

aslo because of thre recent crash of Meta, even tesla, and blockchain, and othe BS thast had millions thrown at it.. justin beibers s NFT bored ape caashes from 200 mil to 70k... while Warhls 2 elvis sells for 50 million , sleazy in-game gambling for kids on nfts and items, a bit poetic justice there., prophetic and ironic on art reproduction warhol was mocking in the 60s.

theres lot of devs availlable.. and venture captitalists, are now just look to invest in someting thats more like, getting real. or useful ..i hope thats helps me and plenty others. workers and code owners alike.

image

https://github.com/AvaloniaUI/Avalonia so i just hried freelancers to eval this.. i think i can move my old Aero looking junk to it 90%.. i hope. ill try at least to show i have a path away from wpf.. but its active.. and Winforms net7 is MORE active. so it seems older and more used solfware lives longer! its the opposite of our selves and of our roads and bridges infrastructure, someone on twitter was wondering why it doesnt get bitrot....i say its undead. its the new shiny fish that DIE.. within <4 years or illconceived. its way easiler to take Avalonia and make part of it a web app, thatn the other way around Wndproc, and COM lives on... .

https://github.com/codespaces

so i ask this guy a open questoin open since 2017 if i can stick a mongame surface in it at 60hz or so.. feed it vaia a bk thread.. hs give me two linkes.. 5 days old.

https://github.com/AvaloniaInside/AvaloniaInside.MonoGame

thing works but rough.. it can use direct X or opengl somehow... idraw tools and reactive stuff.. all kinds of stuff i might want but i at least jhe docking thing and its got that and saving layouts.

so they really have a grip on how to generalize graphics at least for tooling. not for mabye c interfaces, or realtime OSs. btu for rasberriy pie the avalonia can do IOT sutff..

so this is hard to use but has the basics of what i need.. i think...and issues... https://github.com/wieslawsoltes/Dock its not the only option..

https://github.com/AvaloniaInside/AvaloniaInside.MonoGame so thy can integrate low level surfaces also. at least 60hz..

reallyh i think if you buy closed source 3rd party and they liquidate they cant open source it and thus you are stuck wiht as -is.. so im seeeing shift in the past 30 days thats tectonic... as for the low laterncy vioce input, like "hotword, set text size to 9pt" "confirm:... thats JustSayil on a small LLM anad im so mad at the big ones for beign useuless... so far... and spy ware and BS bots aI ...well thats another thing that im hopoing gets real aswell..

its can do too much original stuff i dont thing but .. https://github.com/wieslawsoltes/Spacewar made by chatgpt via avalonia.. so im just exhausted... i did manage to surf yesterday before sunset.. managed to go outside and catch a wave in pithc dark darkness. but this is getting too much to keep up with ... i think i got the general breadth of the IDE.. situation or at leasat mabye some clue...

but im going to just finish what i started while periodically keeping aware of it these projects are real or too buggy to use.. as a side project type moving peices to it Avalonia some ide docking branchs, re very new.. and branches everywhere deosnt seem a great sign... ok just had gto report because i think ive a sort of plan,... ive seen enough..

damian-666 commented 1 year ago

some final thoughts so i dont bombard ur vautl: teh web UI..u mentioned, used in the debugger.. ill look at it.. i hope i can put your debbug in mine , or just updae my old code is probably wisest.. then mayb as you suggested: https://webui.design/product/sidebar-ui-design/

image

two more vaults to mentino https://www.codeproject.com/Articles/5316702/UniDock-A-New-Multiplatform-UI-Docking-Framework-U https://github.com/npolyak/NP.Avalonia.UniDock doesnt seem too mchh taction..

https://github.com/wieslawsoltes/NXUI

mabye minimal is better.

the ide things have a sort of harder debbugger mabye in some.. i dont konw.. one mention ominsharp.

. im following some twitter people jsut because i forces me to be concise if i speak. https://twitter.com/wieslawsoltes <--- he uses the chatgpt3 i have copilot but its usually off now.. , but he recently called it "Clippy" .. sure it can make spacewar but thats not a new program. im find teh old refactor stuff much better than this .. not that il like coding i dont think tis teh right approach to general AI.. and its the #1 disturbing thing beging discussed..because its polluting,maknig the hellscape of internet explore worse than it has. hopefully it will eat itelf and die? pretty hopeful/ negative / tehn hopeful flipflopping abougt it use cases in tooling . anwyas thanks ill hope to check this out but im nto very console oriented..

so re Web based ui.. i dont trust browser hooks much, but as they track / blokc and have more variants than oses. wieslawsoltes abd others are jusing using webASM. its not as unsafe as i thought. i hate javascript but it dont think its young enough to die. this.. ilm not sure.. looks dangerous ( while sandboxed) to invest if if its not easy to deploy .. he targets like evertying, effortlessly , seems.. includinghtat... i got burned by silverlgiht for security reasons. what unitydoes is transpile to javascript and webGL. that how they put unity on browser post Netscape api hook. .

so to just keep using what you are proficient with that than jumping each new train is a good way to be stubborn. and hold a niche. silverlgiht died at verson 5.. flash died older and reallybroke the internet froyears, and flash and silverlgiht had tons of use. fortran is stil #1 in CFD community. so in a way.. webassembly and some UI lie avaolnia pretty mcuh makes silverlgiht come back to life.. after i spend two years porting to low level monogame / shader graphics.. i should have surferd or 2 years instead .. but its too slow so im glad. .i went through it...

all the game engines consoles have build on C and wont use IL. so everyones has some limiting cosraints, but i seee a trend , the bigger bloated tech is not able to keep to w netcore... like Unity so im very glad i didnt go there. hope i didnt repeat, i mabye forgot what i ranted earlier.. thx Cheers.

damian-666 commented 1 year ago

i can move this stuff to ideas if you are gonna close this.. .. it moer like the" state of Scripting 2022 issue".. or best i one could link to this thread via that one whiic is probably an ongoing issue to try keep up with developements and stays open .... if its helps anyone and you wanan keep your issues nice and low count.

oleg-shilo commented 1 year ago

As for my suggestion, I have already added the description of the DBG API It will be required for anyone who wants to implement a custom debugger and dbg-server.

https://github.com/oleg-shilo/cs-script/wiki/WDBG---API . . . Yeah I think we can close this thread and reopen it in the enhancements/ideas form if it comes to it.