As a Sharptools user and fan, and a longtime webCoRE user and fan, I’m actually in agreement with the statement that “most” webCoRE pistons can be ported to Sharptools, largely because most pistons aren’t really that sophisticated.
In your example, you really have multiple “rules” (each one identifiable by the thunderbolt next to the IF statements) and each of those could be broken down into separate rules and (mostly) ported to SharpTools. I see a bit of date/time math and string manipulation, which SharpTools doesn’t do well or at all as yet (though I’ve seen some beta activity on this), but largely I think it could be done. “Easily” is a matter of perspective.
On the other side of the coin, however, webCoRE has more complex capabilities that SharpTools can’t come close to matching yet. I have pistons with complex arrays, webhooks to local addresses, advanced string manipulation and formatting, date/time math, evaluations and comparisons of the age and previousAge of select activity between devices. There are For, For Each, While, and Repeat loops, Switch statements, and such — which can be sometimes be clumsily imitated through workarounds in SharpTools — but often not.
In webCoRE, you can monitor the contacts for a dozen doors in a single line, and store the active or open devices from that first line in an array in a second line. Try that in Sharptools. The first line becomes pages of individual triggers, and the second isn’t possible because SharpTools doesn’t have device variables.
Over the past year, I have moved the simplest tasks to ST Routines, slightly more complex ones and anything requiring a variable to SharpTools, and installed a Hubitat to keep my impossible-to-replicate-elsewhere pistons running on webCoRE. (Sharptools can be a useful bridge for that). I’m puttering with the Rules API and will probably do more with it over time, but it has some significant limitations as well and doesn’t really have a friendly face.
My current setup may sound a bit Rube Goldberg-esque, and it is (and I haven’t event mentioned the various node.js and other servers I’m running, nor the GA and Alexa integration, etc., etc.), but I’ve put all my eggs in one basket before, and I’m not doing it again anytime soon.
But, back to the original point, can “most” webCoRE pistons be ported to Sharptools? Probably. Can it be done easily? Yes and no. But can Routines, SharpTools, or the Rules API completely replace webCoRE’s more complex capabilities? Not yet.