vanillaview VS _____

Compare vanillaview vs _____ and see what are their differences.

vanillaview

Easy to use views with vanilla JS semantics (by o0101)

_____

💎 Das Bang-Architektur-Rahmenwerk! ist eine Ansichtsbibliothek, die benutzerdefinierte Elemente für das neue Zeitalter druckt. Es enthält asynchrone Vorlagenwerte, JS-Vorlagensyntax, <!void-elements /> und minimale DOM-Aktualisierungen ohne virtuelles DOM. [Moved to: https://github.com/i5ik/das.bang.froomwerk] (by i5ik)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
vanillaview _____
6 8
12 14
- -
0.0 9.8
about 2 years ago about 2 years ago
JavaScript JavaScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

vanillaview

Posts with mentions or reviews of vanillaview. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-02.
  • Show HN: Bang
    2 projects | news.ycombinator.com | 2 Oct 2021
    Hello Humans of HN,

    This is BANG! a new UI framework for JavaScript on the web. It comes out of work I did in 2014 (on a web component framework with v0 Shadow DOM) and in 2018 (on a pure view-as-a-function of state framework with JavaScript template tag functions, variously known as brutal.js, dumbass and now vanillaview or just VV).

    This work unifies those two works, and combines the JavaScript templating and minimal DOM updates (diffs without VDOM, by using granular updating functions down even to the level of splicing text nodes and text in attribute values and names) of VV with the scoped-styles, and component organization of the original unnamed web component framework.

    It also adds a few new things, such as fixing some bugs in VV that I didn't even know existed before I tried merging it with another framework, making the list-diffing capability of VV truly minimal (previously it would reprint the whole list if any item order changed, not only items inserted or deleted actually are), and adding support for something I'm very proud of..."custom self-closing tags."

    You can't get self-closing custom tags in HTML, because you can't define them. HTML has a limited set (, ,


    and the like), but their syntax has always been neat. And React picked up on this as a way to include a component in another. I really liked that syntax. In VV I simply used template slots and function calls to the included view function to include components, it worked. But I always wanted a neater syntax. I experimented with a parser at the time, and that worked, too. But the performance was slow, and I thought it made the code clunky.

    One day I had the realization I could use HTML comment nodes. They look, "kinda" like elements, and you can write them by omitting everything but the leading ``. This was what I needed. Hence "bang" (at least I think that's where the name comes from, I'm not even sure). So these "bang tags" are self-closing tags, that are automatically converted to regular custom elements. Allowing you to type less.

    I build things to improve my developer experience. That's all important. Then you're more efficient, and effective and you enjoy doing it more. So I'm sharing it here because I want to contribute to you, too. Maybe it's something valuable for you, or maybe it gives you ideas. Either way, this framework is yours. It's an open-source permissive license, and yours to contribute to, or fork or whatever.

    It's got bugs right now and the syntax is more limited than VV, but I like it better. I wanted something new, and I got it. By making this. I can always add the VV syntax I removed for performance and simplicity during the merge, back later. But I'm not sure if I will, not yet. If you want something more battle-tested take a look at VV[0], but note that some of the fixes I made to the merged-VV have not been included back in main. I'm sure I'm going to do that eventually, but not for a while yet probably. I'm too busy basking in the bliss that is BANG!. Hopefully it's your bliss too :P ;) xx

    [0]: https://github.com/i5ik/vanillaview

  • Show HN: Vanillaview – Easy to Use Views in JavaScript
    1 project | news.ycombinator.com | 18 Aug 2021
  • Show HN: Imba – I have spent 7 years creating a programming language for the web
    14 projects | news.ycombinator.com | 17 Aug 2021
    Wow you are clearly a genius. The syntax looks beautiful! This is great. I don't want to use it (the best tool for the job for me is one that fits my own mental models, my own mind, and this is not it) but you are a genius.

    Also -- wow those Nordics are super productive programmers/coders/developers/open-sorcerers (Sindre Aarsaether & Sindre Sorhus & Linus Torvalds & ......) -- could it maybe have something to do with: The low GNI, the high HDI and the great weather for coding? (cold, blistery, bleak, focused, electrons-and-light universe is only outlet in a desolate landscape)?

    PS - I use my own memoized DOM with minimal/granular updates in my own quirky framework (https://github.com/i5ik/vanillaview)

    CONGRATULATIONS, SIR!

  • VanillaView is a JavaScript library for building user interfaces
    1 project | news.ycombinator.com | 24 Apr 2021
  • i5ik/vanillaview VanillaView is a JavaScript library for building user interfaces.
    1 project | /r/javascript | 24 Apr 2021
  • Show HN: VanillaView – easy to use views with vanilla JavaScript semantics
    1 project | news.ycombinator.com | 22 Apr 2021

_____

Posts with mentions or reviews of _____. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-27.
  • How I made Google’s data grid scroll 10x faster with one line of CSS
    4 projects | news.ycombinator.com | 27 Oct 2021
    You might need table-layout:fixed and set a column width using colgroup col elements. I think that's what I'm doing on my little table component in this page:https://i5ik.github.io/_____/7guis/
  • Show HN: A work in progress large table virtualization component
    2 projects | news.ycombinator.com | 26 Oct 2021
    -------------------

    - It's possible to scroll it now infinitely (and performantly) for the duration of the very large background element.

    - Major problem was I initially was listening for intersection of cells individually on each row, but if a row had already travelled off screen due to a vertical scroll, it would not be possible for its cells to 'intersect' with the viewport element (the window, in Intersection Observer API parlance, the "root"), and so no intersection for that cell would occur, and so cells in that row would not be updated. And if they were not updated, they would not be onscreen when the row was in future removed from the pool and positioned back on screen, and so its cells could no longer be updated, as there would be no cells within that scroll viewport to intersect anymore. The solution to this was to create a logical grouping of cells into columns, and handle any intersection observations for any cell in a column, at once, and apply them to all cells in a column. So the whole column would be updated. Before I fixed this, repeated scrolling (particularly in opposite diagonal directions) would erode the cells present, gradually decreasing their number, and throwing many out of their column alignments.

    - Also performance was another issue that's now mostly resolved tho I think I can do better. Basically too much work was happening on handling each Intersection record and we were not ignoring records that triggered the same work to be redone (such as intersection events from each cell in a column). These redundant records are now ignored (but mostly in a haphazard manner that could cause browser dependent bugs).

    Next steps

    ----------

    - Add all of the outstanding features (scroll snap, row / col size dragging) from the table component.

    - Style it to make it look nice

    - Fix the outstanding border 'off by 1' bugs.

    - Sync up the 'view portal' with a 'data portal' (movable portal over a very large set of data), and print the correct data corresponding to the current scroll position in the table

    - Add the row and column headers using CSS sticky.

    This is the only comment I'll make in this thread, thanks for reading, and hit me up with questions at my email if you want: [email protected]

    [bt]: https://i5ik.github.io/_____/7guis/ (scroll down to the last 7GUIs component)

    [bp]: https://github.com/palantir/blueprint/issues/390

    [ft]: https://fulmicoton.com/fattable/index2.html

    [sc]: https://showcase.sproutcore.com/#demos/Big%20Data%20Lists

    [ct]: https://canvas-datagrid.js.org/demo.html

    [mi]: https://developer.mozilla.org/en-US/docs/Web/API/Intersectio...

    [other]:

    https://js.devexpress.com/Demos/Widgetsgallery/Demo/DataGrid...

    https://codepen.io/enigmatic/pen/JGvwEv

    https://www.htmlelements.com/demos/grid/overview/

  • 7GUIs in Web Components
    1 project | /r/Frontend | 7 Oct 2021
  • Show HN: 7GUIs in Web Components
    1 project | news.ycombinator.com | 7 Oct 2021
  • Show HN: Bang
    2 projects | news.ycombinator.com | 2 Oct 2021
  • Show HN: Using shadow DOM, HTML comments to make a React-like view without JSX
    1 project | news.ycombinator.com | 26 Sep 2021
  • Custom Elements with a Bang
    1 project | news.ycombinator.com | 26 Sep 2021
  • Show HN: BANG! – A custom element framework with min diffs and async templates
    1 project | news.ycombinator.com | 21 Sep 2021

What are some alternatives?

When comparing vanillaview and _____ you can also consider the following projects:

pFreak - pFreak is a unit-level 2-in-1 JavaScript benchmarking and testing framework.

svelte-webcomponents - A ready-to-use project template to build custom elements (web components) with Svelte 3 with support and examples for web components, jest, sass, nested components with props, eslinting, stylelinting, Github actions, propagating custom events from shadow-DOM to real-DOM etc.

kotlinx.html - Kotlin DSL for HTML

dark-mode-toggle - A custom element that allows you to easily put a Dark Mode 🌒 toggle or switch on your site:

coffeesense - IntelliSense for CoffeeScript. LSP implementation / VSCode extension

atomico - Atomico a micro-library for creating webcomponents using only functions, hooks and virtual-dom.

typescript-imba-plugin - Typescript Plugin for providing rich language functionality for Imba

bang - A custom element framework for the new age: async templating, smooth syntax, and <!void-elements /> [Moved to: https://github.com/i5ik/_____]

webcomponent-patreon-box - My Patreon Tier Box with avatars and link from rest/json api.

office-ui-fabric-core - The front-end CSS framework for building experiences for Office and Microsoft 365.

open-ui - Maintain an open standard for UI and promote its adherence and adoption.

bang.html - 💎 Good.HTML. A nice framework without the bad stuff. Lots of custom elements, and nice templates. Good. HTML [Moved to: https://github.com/crisdosyago/good.html]