design-reviews VS lit

Compare design-reviews vs lit and see what are their differences.

lit

Lit is a simple library for building fast, lightweight web components. (by lit)
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
design-reviews lit
9 141
317 17,575
0.9% 1.1%
4.7 9.4
about 1 month ago 6 days ago
JavaScript TypeScript
Creative Commons Zero v1.0 Universal BSD 3-clause "New" or "Revised" 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.

design-reviews

Posts with mentions or reviews of design-reviews. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-28.
  • Modern CSS One-Line Upgrades – Modern CSS Solutions
    1 project | news.ycombinator.com | 29 Jan 2024
    > The other value of pretty specifically addresses preventing orphans and can be more broadly applied. The algorithm behind pretty will evaluate the last four lines in a text block to work out adjustments as needed to ensure the last line has two or more words.

    This is very, very badly wrong. `text-wrap-style: pretty` is explicitly not about orphans and does not have a defined algorithm. It’s about prettiness, a subjective thing that will have different interpretations in different browsers and over time, and this is extremely deliberate. What the author has described is what Chromium has implemented at this time.

    All the spec says is <https://www.w3.org/TR/css-text-4/#valdef-text-wrap-style-pre...>, that `text-wrap-style: pretty` “Specifies the UA should bias for better layout over speed, and is expected to consider multiple lines, when making break decisions. Otherwise equivalent to auto”.

    TAG review of the feature requested that implementers use at least two heuristics, “to avoid authors using it as a proxy for a more specific thing” <https://github.com/w3ctag/design-reviews/issues/864#issuecom...>.

    For total clarity: ‘pretty’ is not necessarily any different from ‘auto’, and ‘auto’ is permitted to do exactly the same thing as ‘pretty’ does, and I hope and expect that browser makers will eventually go that direction for most contexts (contenteditable/ being the main exception, and maybe lower-powered platforms). If you explicitly want a greedy/first-fit technique, use `text-wrap: stable`. Firefox has had a bug open for 13 years where shifting in this direction and using Knuth–Plass almost everywhere has been seriously contemplated <<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=630181" rel="nofollow">https://bugzilla.mozilla.org/show_bug.cgi?id=630181</a>>, long before text-wrap-style.

  • The `hanging-punctuation property` in CSS
    3 projects | news.ycombinator.com | 28 Nov 2023
    CSS specs are explicitly not interested in prescribing TeX-level control; text-wrap-style is a good example of this: it’s just hints, with the actual algorithms completely UA-defined. And in fact, they’re going out of their way to recommend including multiple distinct heuristics of prettiness, so that developers don’t use it as a proxy for just one thing and start relying on something that is explicitly and deliberately undefined. <https://github.com/w3ctag/design-reviews/issues/864#issuecom...> (And Chromium has done just this: <https://bugs.chromium.org/p/chromium/issues/detail?id=143279...>.)

    In other words: you’ve already lost!

  • Microsoft Broke a Chrome Feature to Promote Its Edge Browser
    4 projects | news.ycombinator.com | 2 May 2023
    Since people seemed to believing Google PR at face value here is the w3c position in rejecting the proposal:

    The intention of the Topics API is to enable high level interests of web users to be shared with third parties in a privacy-preserving way in order to enable targeted advertising, while also protecting users from unwanted tracking and profiling. The TAG's initial view is that this API does not achieve these goals as specified.

    The Topics API as proposed puts the browser in a position of sharing information about the user, derived from their browsing history, with any site that can call the API. This is done in such a way that the user has no fine-grained control over what is revealed, and in what context, or to which parties. It also seems likely that a user would struggle to understand what is even happening; data is gathered and sent behind the scenes, quite opaquely. This goes against the principle of enhancing the user's control, and we believe is not appropriate behaviour for any software purporting to be an agent of a web user.

    The responses to the proposal from Webkit and Mozilla highlight the tradeoffs between serving a diverse global population, and adequately protecting the identities of individuals in a given population. Shortcomings on neither side of these tradeoffs are acceptable for web platform technologies.

    It's also clear from the positions shared by Mozilla and Webkit that there is a lack of multi-stakeholder support. We remain concerned about fragmentation of the user experience if the Topics API is implemented in a limited number of browsers, and sites that wish to use it prevent access to users of browsers without it (a different scenario from the user having disabled it in settings).

    We are particularly concerned by the opportunities for sites to use additional data gathered over time by the Topics API in conjunction with other data gathered about a site visitor, either via other APIs, via out of band means, and/or via existing tracking technologies in place at the same time, such as fingerprinting.

    We appreciate the in-depth privacy analyses of the API that have been done so far by Google and by Mozilla. If work on this API is to proceed, it would benefit from further analysis by one or more independant (non-browser engine or adtech) parties.

    Further, if the API were both effective and privacy-preserving, it could nonetheless be used to customise content in a discriminatory manner, using stereotypes, inferences or assumptions based on the topics revealed (eg. a topic could be used - accurately or not - to infer a protected characteristic, which is thereby used in selecting an advert to show). Relatedly, there is no binary assessment that can be made over whether a topic is "sensitive" or not. This can vary depending on context, the circumstances of the person it relates to, as well as change over time for the same person.

    Giving the web user access to browser settings to configure which topics can be observed and sent, and from/to which parties, would be a necessary addition to an API such as this, and go some way towards restoring agency of the user, but is by no means sufficient. People can become vulnerable in ways they do not expect, and without notice. People cannot be expected to have a full understanding of every possible topic in the taxonomy as it relates to their personal circumstances, nor of the immediate or knock-on effects of sharing this data with sites and advertisers, and nor can they be expected to continually revise their browser settings as their personal or global circumstances change.

    A portion of topics returned by the API are proposed to be randomised, in part to enable plausible deniability of the results. The usefulness of this mitigation may be limited in practice; an individual who wants to explain away an inappropriate ad served on a shared computer cannot be expected to understand the low level workings of a specific browser API in a contentious, dangerous or embarrassing situation (assuming a general cultural awareness of the idea of targeted ads being served based on your online activities or even being "listened to" by your devices, which does not exist everywhere, but is certainly pervasive in some places/communities).

    While we appreciate the efforts that have gone into this proposal aiming to iteratively improve the privacy-preserving possibilities of targeted advertising, ultimately it falls short. In summary, the proposed API appears to maintain the status quo of inappropriate surveillence on the web, and we do not want to see it proceed further.

    https://github.com/w3ctag/design-reviews/issues/726#issuecom...

  • Shoelace: A Web Component Kit
    14 projects | news.ycombinator.com | 3 Apr 2022
    Ah, I didn't realize this wasn't solved -- a quick search turns up:

    - https://github.com/WICG/webcomponents/issues/788

    - https://github.com/w3c/DOM-Parsing/issues/58

    - https://github.com/w3ctag/design-reviews/issues/494

    - https://web.dev/declarative-shadow-dom

    In pre-render they seem to have started in this direction extremely recently:

    https://github.com/prerender/prerender/pull/731/files

    I don't use prerender so I can't definitively speak to it being solved and hiccup-free, but I think that limitation is going to go away in the future.

  • It's always been you, Canvas2D
    12 projects | news.ycombinator.com | 4 Mar 2022
    There was a ton of work across browser vendors to make this a part of spec:

    https://html.spec.whatwg.org/multipage/canvas.html#the-canva...

    It's all there. It's all official. That github page was just one part of reaching consensus. There's also TAG review:

    https://github.com/w3ctag/design-reviews/issues/627

    FWIW Mozilla and Safari signed off on all of these changes at some point in time somewhere, hence why it's allowed to be part of spec. There were some changes that were not allowed to be part of the new API because one of those two said no (like perspective transforms, conic curves).

  • Chromium: Permit blocking of view-source: with URLBlocklist
    1 project | news.ycombinator.com | 12 Nov 2021
    I would like to quote from the W3C TAG comments on the Managed Device Web API:

    https://github.com/w3ctag/design-reviews/issues/606#issuecom...

    > > "NOTE: [RFC7258] treats pervasive monitoring as an attack, but it doesn’t apply to managed devices."

    > We don't think this is adequate. Given the power dynamics at play in an employer-employee relationship, the UA should still be working in the best interests of the end-user (the employee) even if the device being used is managed by an administrator. That is to say, pervasive monitoring is never a feature.

    Chrome may not consider it part of the "web-exposed platform", since the code doesn't live in blink/, but the same logic applies to view-source. The needs of the users are more important than the security theatre you wish to put on for their teacher's benefit.

  • It’s time to ditch Chrome
    12 projects | /r/technology | 6 Jun 2021
    One case directly related to Chrome browser, and sending data to Google, there is issue with tracking headers. [source](https://github.com/w3ctag/design-reviews/issues/467#issuecomment-581944600)This allows tracking specific Chrome instance among all Google services.We cannot say whether this is used for tracking, but it allows it for sure.\[Register article about the same matter.\]([https://forums.theregister.com/forum/all/2020/02/05/google\_chrome\_id\_numbers/](https://forums.theregister.com/forum/all/2020/02/05/google_chrome_id_numbers/))
  • Tag Kills FirstParty Sets Proposal
    1 project | news.ycombinator.com | 7 Apr 2021

lit

Posts with mentions or reviews of lit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-13.
  • I've created yet another JavaScript framework
    4 projects | dev.to | 13 Apr 2024
    That is the reason why I experiment with the TiniJS framework for a while. It is a collection of tools for developing web/desktop/mobile apps using the native Web Component technology, based on the Lit library. Thank you the Lit team for creating a great tool assists us working with standard Web Component easier.
  • Web Components e a minha opinião sobre o futuro das libs front-end
    4 projects | dev.to | 4 Apr 2024
  • Show HN: I made a Pinterest clone using SigLIP image embeddings
    2 projects | news.ycombinator.com | 16 Feb 2024
    https://github.com/lit/lit/tree/main/packages/labs/virtualiz...
  • What We Need Instead of "Web Components"
    8 projects | news.ycombinator.com | 22 Dec 2023
    actually, looking at it (https://lit.dev/), i do exactly that.

    I also define a `render()` and extend my own parent, which does a `replaceChildren()` with the render. And, strangely, I also call the processor `html`

    I'll still stick with mine however, my 'framework' is half-page of code. I dislike dependencies greatly. I'd need to be saving thousand+ lines at least.

    Here, I don't want a build system to make a website; that's mad. So I don't want lit. I want the 5 lines it takes to invoke a dom parser, and the 5 lines it takes do define a webcomp parent.

  • Web Components Aren't Framework Components
    2 projects | news.ycombinator.com | 11 Dec 2023
    I rather like https://lit.dev/ for web components so far.

    For the reactivity stuff, you might want to read https://frontendmasters.com/blog/vanilla-javascript-reactivi... - it shows a bunch of no-library-required patterns that, while in a number of cases I'd much rather use a library myself, all seems at least -basically- reasonable to me and will probably be far more comprehensible to you than whatever I'd reach for, and frameworks are always much more pleasant to approach after you've already done a bunch of stuff by banging rocks together first.

  • Reddit just completed their migration out of React
    2 projects | /r/reactjs | 8 Dec 2023
  • Web Components Eliminate JavaScript Framework Lock-In
    10 projects | news.ycombinator.com | 27 Nov 2023
    I work on Lit, which I would hesitate to call a framework, but gives a framework-like DX for building web components, while trying to keep opinions to a minimum and lock-in as low as possible.

    It's got reactivity, declarative templates, great performance, SSR, TypeScript support, native CSS encapsulation, context, tasks, and more.

    It's used to build Material Design, settings and devtools UIs for Chrome, some UI for Firefox, Reddit, Photoshop Web...

    https://lit.dev if you're interested.

  • HTML Web Components
    14 projects | news.ycombinator.com | 13 Nov 2023
    I am more a fan of the augmented style because it doesn't entrap you in dev lock-in to platforms.

    The problem with frameworks, especially web frameworks, is they reimplement many items that are standard now (shadowdom, components, storage, templating, base libraries, class/async, network/realtime etc).

    If you like the component style of other frameworks but want to use Web Components, Google Lit is quite nice.

    Google Lit is like a combination of HTML Web Components and React/Vue style components. The great part is it is build on Web Components underneath.

    [1] https://lit.dev/

  • Web Components Will Outlive Your JavaScript Framework
    16 projects | news.ycombinator.com | 25 Oct 2023
    From the comments I see here, it seems like people expect the Webcomponents API to be a complete replacement for a JS framework. The thing is, our frameworks should start making use of modern web APIs, so the frameworks will have to do less themselves, so can be smaller. Lit [0] for example is doing this. Using Lit is very similar to using React. Some things work different, and you have to get used to some web component specific things, but once you get it, I think it's way more pleasant to work with than React. It feels more natural, native, less framework-specific.

    For state management, I created LitState [1], a tiny library (really only 258 lines), which integrates nicely with Lit, and which makes state management between multiple components very easy. It's much easier than the Redux/flux workflows found in React.

    So my experience with this is that it's much nicer to work with, and that the libraries are way smaller.

    [0] https://lit.dev/

  • Lit – a small responsive CSS framework
    1 project | news.ycombinator.com | 10 Oct 2023

What are some alternatives?

When comparing design-reviews and lit you can also consider the following projects:

Firefox-UI-Fix - 🦊 I respect proton UI and aim to improve it.

Svelte - Cybernetically enhanced web apps

uBlock - uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.

stencil - A toolchain for building scalable, enterprise-ready component systems on top of TypeScript and Web Component standards. Stencil components can be distributed natively to React, Angular, Vue, and traditional web developers from a single, framework-agnostic codebase.

BezierInfo-2 - The development repo for the Primer on Bézier curves, https://pomax.github.io/bezierinfo

Vue.js - This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core

Bitwarden - The core infrastructure backend (API, database, Docker, etc).

Angular - Deliver web apps with confidence 🚀

ungoogled-chromium - Google Chromium, sans integration with Google

htmx - </> htmx - high power tools for HTML

solid - Solid - Re-decentralizing the web (project directory)

Preact - ⚛️ Fast 3kB React alternative with the same modern API. Components & Virtual DOM.