It has been a while since a big change happened in the Fiddler world. The outside world is changing, though, so it is time to put Fiddler ahead of that change.
Today we released FiddlerCore (the engine behind Fiddler) beta for .NET Standard 2.0 (just download FiddlerCore and you'll find the beta inside; no dedicated download needed). It is the first small step but a great journey lies ahead. At the end of the journey we would like Fiddler to:
It is going to be a long journey, so we have broken it into smaller steps. Each step will result in a distinct deliverable making major new functionality available to the Fiddler community and putting it to a real life test before we build the next step on top of it.
This is the first step on the road to Fiddler Orchestra. FiddlerCore is in essence the Fiddler engine. We currently offer it as a separate product packaged in a .NET assembly for customers that would like to have the power of Fiddler in their apps.
Going multi-platform means our engine must become multi-platform-first. We have experimented with the various flavors of .NET that offer multi-platform support and .NET Standard came to be best suited for our needs. Today’s beta release comes to prove that we are on the right track. All the FiddlerCore functionality has been implemented for .NET Standard 2.0. Some glitches are to be expected of course since .NET Core 2.0 is pretty new, but our internal testing shows the FiddlerCore beta is really stable (of all platforms that support .NET Standard 2.0, we have done most of that testing under .NET Core). So we are well into the first step already.
Taking things one step further, we are going to convert FiddlerCore for .NET Standard into an executable server running under .NET Core and Xamarin. Having in mind that FiddlerCore is the Fiddler engine, our server is going to have the very same functionality Fiddler has, but it will not have the fully fledged web debugging UI. Instead it will be capable of sending web debugging data to and receiving commands from any instance of the good, old Windows Fiddler.
This is going to be the birth of Fiddler Orchestra. At this point Fiddler will start providing remote web debugging capabilities. I.e., one will be able to monitor what gets sent and what gets received at every node of a complex traffic scenario. And all that is going to happen inside the familiar and convenient Fiddler for Windows UI.
Adding fully fledged web UI to the FiddlerCore servers described above could be a logical next step we might consider in the future. If this effort comes to fruition, it will be initially aimed at the .NET Core framework. It will effectively allow a FiddlerCore server running on any platform supported by .NET Core to provide the same web traffic debugging functionality for that platform as the current WinForms-based version of Fiddler for Windows. This in turn could add tremendous power to the Fiddler Orchestra, since any instance of Fiddler—be it legacy WinForms-based or on .NET Core—could display information from and control several other instances. At this point Fiddler standalone could become available for all platforms supported by .NET Core, and any standalone instance of Fiddler could be part of an Orchestra.
Web UI seems to be a natural choice of technology to accomplish what is described above. Besides offering the same UI experience across all supported platforms, it brings Fiddler in the browser which could be really convenient in a large number of usage scenarios.
Thanks for bearing with me through the entire first public appearance of Fiddler Orchestra. You, the Fiddler user community, really shaped Fiddler into what it is today. So check it out, and all your thoughts and comments on our plans for its future are most welcome.
Tsviatko is the Lead Developer for JustDecompile and Fiddler.