Last active
November 8, 2022 03:55
-
-
Save WebReflection/ab43649d9e4a53ac900b5924c77a310e to your computer and use it in GitHub Desktop.
Revisions
-
WebReflection revised this gist
Feb 17, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -101,7 +101,7 @@ because _hyperHTML_ was doing already everything _lit-html_ was doing too! ### TFW ... As much as both projects were based on different languages, even if _lit-html_ kept talking about standards, there was this weird feeling every-fucking-thing was the same, even on the code level: -
WebReflection revised this gist
Feb 17, 2018 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -58,9 +58,9 @@ something was very different about hyperHTML, yet he ignored me, and my code he - - - **Helping** a developer doubling down and explicitly asking for sustainability in Open Source? **Nope**. **Questions?** Reach out? Filed bugs? **Nope**, nopity nope! How **lovely ... !** -
WebReflection revised this gist
Feb 17, 2018 . 1 changed file with 5 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -56,11 +56,13 @@ Too bad such great Google developer [didn't understand](https://twitter.com/just something was very different about hyperHTML, yet he ignored me, and my code he supposed to have tested, and the 29th of July he created an [empty repository](https://github.com/Polymer/lit-html/commit/5ce03d734391e4e272b0b86489580b9980be1ee6) under Polymer GitHub account. - - - **Helping** a developer doubling down and explicitly asking for sustainability in Open Source? Nope. **Questions?** Reach out? Filed bugs? Nope, nopity nope! How **lovely ... !** ### The standards gotcha -
WebReflection revised this gist
Feb 17, 2018 . 1 changed file with 5 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -50,7 +50,11 @@ The 29th of July 2017, Justin Fagnani perfectly described the strength of _hyper Too bad such great Google developer [didn't understand](https://twitter.com/justinfagnani/status/880681441281150980) whatever he was testing during those days ... I guess _hyperHTML_ was quite unusually advanced to grasp right away ... ... and I swear, [I've warned him](https://twitter.com/WebReflection/status/880681817204019201) > others you mentioned do not do anything similar to what hyperHTML does. Just saying. hyperHTML is unique in what it does so far. something was very different about hyperHTML, yet he ignored me, and my code he supposed to have tested, and the 29th of July he created an [empty repository](https://github.com/Polymer/lit-html/commit/5ce03d734391e4e272b0b86489580b9980be1ee6) under Polymer GitHub account. Helping a developer doubling down and explicitly asking for sustainability in Open Source? Nope. -
WebReflection revised this gist
Feb 17, 2018 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -46,6 +46,8 @@ This is just one extra piece of the puzzle _hyperHTML_ library was already aware The 29th of July 2017, Justin Fagnani perfectly described the strength of _hyperHTML_ [in a tweet](https://twitter.com/justinfagnani/status/880656504101249025). > You'd do much better diffing by skipping the static parts altogether. Then you only compare new values flowing into dynamic parts. Too bad such great Google developer [didn't understand](https://twitter.com/justinfagnani/status/880681441281150980) whatever he was testing during those days ... I guess _hyperHTML_ was quite unusually advanced to grasp right away ... ... and I swear, [I've warned him](https://twitter.com/WebReflection/status/880681817204019201) something was very different about hyperHTML, yet he ignored me, and my code he supposed to have tested, and the 29th of July he created an [empty repository](https://github.com/Polymer/lit-html/commit/5ce03d734391e4e272b0b86489580b9980be1ee6) under Polymer GitHub account. -
WebReflection revised this gist
Feb 17, 2018 . No changes.There are no files selected for viewing
-
WebReflection revised this gist
Feb 17, 2018 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -105,6 +105,8 @@ even if they kept claiming: **lit-html is not production ready**. ... regardless ... ### lit-html keeps announcing itself! In October 2017, [lit-html was promoted again](https://www.youtube.com/watch?v=Io6JjgckHbg) during Chrome Dev Summit. -
WebReflection revised this gist
Feb 17, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -94,7 +94,7 @@ because _hyperHTML_ was doing already everything _lit-html_ was doing too! ### TFW ... As much as both projects where based on different languages, even if _lit-html_ kept talking about standards, there was this weird feeling every-fucking-thing was the same, even on the code level: -
WebReflection revised this gist
Feb 17, 2018 . 1 changed file with 3 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -101,7 +101,9 @@ even on the code level:  And yet [not a single mention](https://github.com/Polymer/lit-html#lit-html) in their own repository about alternatives, even if they kept claiming: **lit-html is not production ready**. ### lit-html keeps announcing itself! -
WebReflection created this gist
Feb 17, 2018 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,156 @@ # The history of hyperHTML followed by lit-html While many remember the epic [hyperHTML: A Virtual DOM Alternative](https://medium.com/@WebReflection/hyperhtml-a-virtual-dom-alternative-279db455ee0e) post I've published the 5th of March 2017, the [first official implementation](https://github.com/WebReflection/hyperHTML/commit/a9477f2179d56c48e2230cc2983d1db9af3dd485) of the library was working as `hyperHTML.bind(node)` function for tagged literals the day before, and it's been in my experiments folder already for a little while. ### The hilarious reaction from the skeptical community At first glance people couldn't believe performance of the [DBMonster demo](https://webreflection.github.io/hyperHTML/test/dbmonster.html) shown in that article, and one of the best day of my life has been realizing, after a shit storm of negative comments about how badly I was selling fake performance, that in reality everyone blaming me didn't understand the benchmark, so that my library was actually performing close to [twice as fast](https://github.com/WebReflection/hyperHTML/issues/31#issuecomment-294991222) than any other. It's a good exercise to read that whole thread, how many people changed tone or disappeared, after being slapped after their very same complains: them selling their product as faster! ## The community, after all, was very positive! The development after such successful blog post went crazy! So crazy, that as soon as I had to find solutions for common cases, I started making up intriguing API names so that at some point a method went out called [frog](https://github.com/WebReflection/hyperHTML/commit/2a46a96189f97e0721f7d4bdcb29da773606891d). Quite instantly after, people interested in this revolutionary library complained about such choice, so that the name got replaced by [wire](https://github.com/WebReflection/hyperHTML/commit/1c7ca54d84e1c47424b08a1740423598fa9770a6). The `hyperHTML.wire(...)` was able to create DOM nodes, as opposite of just populating them as `.bind(...)` does. You can easily distinguish these two methods as where to render, a _bound_ element, and what to render, one or more _wired_ nodes. Around the 21st of June, the [full refactored branch](https://github.com/WebReflection/hyperHTML/commit/b6af7885fa1bd8c1afab6214c3b44af2c1e20410) already [based on HTMLTemplateElement](https://github.com/WebReflection/hyperHTML/commit/b6af7885fa1bd8c1afab6214c3b44af2c1e20410#diff-43be7179ccb775314343088daacb0043R386) went in as major candidate of version 1. I've been working on that branch for quite some time and the introduction of `template` was key to solve all outstanding issues such _create a_ `<td>` _element_ or similar, something you cannot do via `innerHTML`. Trust me: ```js document.body.innerHTML = '<td>nope</td>'; console.log(document.body.firstElementChild); // null ``` You read that right, it's not the `td` element we've just created, it's actually **null** because no `TD` ever was created at all. This is just one extra piece of the puzzle _hyperHTML_ library was already aware of, and ahead of, competitors ... which actually, didn't exist 'till that day, isn't it? ## And suddenly, the wild Big player appears ... The 29th of July 2017, Justin Fagnani perfectly described the strength of _hyperHTML_ [in a tweet](https://twitter.com/justinfagnani/status/880656504101249025). Too bad such great Google developer [didn't understand](https://twitter.com/justinfagnani/status/880681441281150980) whatever he was testing during those days ... I guess _hyperHTML_ was quite unusually advanced to grasp right away ... ... and I swear, [I've warned him](https://twitter.com/WebReflection/status/880681817204019201) something was very different about hyperHTML, yet he ignored me, and my code he supposed to have tested, and the 29th of July he created an [empty repository](https://github.com/Polymer/lit-html/commit/5ce03d734391e4e272b0b86489580b9980be1ee6) under Polymer GitHub account. Helping a developer doubling down and explicitly asking for sustainability in Open Source? Nope. Questions? Reach out? Filed bugs? Nope, nopity nope! How lovely ... ! ### The standards gotcha It's not before the 29th of March 2017, almost after one month after _hyperHTML_ announcement, and weirdly after 2 months from the last post, that something moves into standard bodies, with [a post](https://github.com/whatwg/html/issues/2254#issuecomment-290063011) summarized as such: ```html <template id="test" type="application/javascript"> <div> <h2 class="heading">${heading}</h2> <div class="content">${content}</div> </div> </template> ``` And not before June 26th, that the very same [Justin replied to that post](https://github.com/whatwg/html/issues/2254#issuecomment-309123087). ```js <template> <my-element prop="{{value}}" attr$="{{thing}}" on-click="{{onClick}}"></my-element> </template> ``` That's 4 months after my library was already out, the template was already used to fix partial content issues, and yet they have to propose something different 'cause [looking around what's available already is not really what Google people do these days](https://medium.com/@steve.yegge/why-i-left-google-to-join-grab-86dfffc0be84). ## lit-html gets announced π It's [Polymer Summit 2017](https://www.youtube.com/watch?v=ruql541T7gc), old style DOM manipulation is mentioned, _JSX_ with _React_ is mentioned, and not a single fuck about the library that **already** brought real HTML and targeted updates through template literals was given ... or better, it was mentioned, but it was put in a group with other libraries that had nothing to do with _hyperHTML_ features and architecture, because _hyperHTML_ was doing already everything _lit-html_ was doing too! ### TFW ... As much as both projects where based on different languages, even if the _hyperHTML_ kept talking about standards, there was this weird feeling every-fucking-thing was the same, even on the code level:  And yet [not a single mention](https://github.com/Polymer/lit-html#lit-html) in their own repository about alternatives, even if they keep claiming **lit-html is not production ready**. ### lit-html keeps announcing itself! In October 2017, [lit-html was promoted again](https://www.youtube.com/watch?v=Io6JjgckHbg) during Chrome Dev Summit. Few developers contacted me telling that it was very unfair because _hyperHTML_ hasn't be mentioned in the whole Summit. So, looking at that video, _JSX_ is mentioned again, and all the benefits of using just JS, and here I am really trying to not underline that _lit-html_ is fully based on _TypeScript_, not _ECMAScript_ standards it uses, but something else that is not standard ... OK, OK, I'll try to keep this argumet outside this post ... ## Developers aren't stupid It's overwhelming to have a lot of real people and developers, and not just colleagues, supporting me, helping me, or even sponsoring me, while telling me when things aren't really OK, like it happened few times already in the _lit-html_ case. ## Different, after all! This is one thing I agree about: you have options, and beside the big or small name behind, you want to solve **your** problem, not the one me or Justin think you should solve. And here some good news: you have options π !!! But you also have an idea why there is some friction between these two libraries, and hopefully you understood why it's difficult to make both happy. Regardless, I don't care what you chose, 'cause I strongly believe none of my libraries is good for your use case, unless you have fully understood what you are trying to solve. ### After all, Google talks about hyperHTML too π That's fact, but people that know the story already, aren't really happy anyway: > If HyperHTML is so similar to lit-html, and predates lit-html, and had some traction already, and it's actively maintained, and it's currently more powerful, and has Node and NativeScript implementations... Why didn't you guys promote HyperHTML right away? What's the reason for lit-html? That is the [first comment](https://www.youtube.com/watch?v=uCHZJy2n8Qs&lc=UgyBaGjg7EyZsNHMmBZ4AaABAg) of the video that for the first time made me believe there's really no conspiracy against _hyperHTML_ in Google. #### Quick note about me VS Google You know, they contacted me, and interviewed me, and I screwed it up, 'cause Java, C++, and everything-but JS/Web developers interviewed me at that time and on a white board. They asked me problems they've already solved, without asking me problems related to my skills nobody has solved before, including them: you'd be surprised Google! Sadly ending, it didn't go well, as you can guess, but who knows, maybe their heuristics about hiring, will change one day, or maybe they'll hire all the smartest people in this world without any clue ever about the problem they are trying to solve per each specific field? That's a corporate deadlock Google, you know you're better than that! Thank you for reading.