Live data from Hacker News

Ripple – A TypeScript UI framework that takes the best of React, Solid, Svelte

github.com

41–50 of 74 posts

Re: Ripple – A TypeScript UI framework that takes the best of React, Solid, Svelte

#41

If you want something that is similar but looks better and more mature, check out Mint (mint-lang.com - I'm the author)

I'm giving it a look but I can't really figure out much about the type system and how does it compare to TypeScript.

- The type system documentation is here: https://mint-lang.com/reference/types/type-system - in short it's a functional language at heart with a Hindley–Milner type system

- TypeScript syntax comparison is here: https://mint-lang.com/from/typescript

- The feature matrix which compares languages features is here: https://mint-lang.com/feature-matrix

I hope you find those helpful :)

Re: Ripple – A TypeScript UI framework that takes the best of React, Solid, Svelte

#42
So much negativity... I for one really like the look of this, I've been yearning for something that's not the current crop of frontend frameworks to see where we go. The author definitely has the past experience to build something like this based on being a core member of both Svelte and React. It'll be cool to see where this goes, though I wish we had more Elm-like frameworks (that don't lock down the compiler).

Re: Ripple – A TypeScript UI framework that takes the best of React, Solid, Svelte

#43

I don't mean to sound reductive, but there's something exhausting about the conceptual approach that necessitates importing array primitives from a package. The react meets svelte concept seems cool, but maybe this particular syntax is just not for me.

The array primitive seems to be a reactive version of an array; which seems to be weird since a basic primitive like an array should be able to be made reactive by default.

Tangentially Svelte also provides some reactive primitives, namely SvelteMap and SvelteSet [0]. But I've never had to use any of them.

[0] https://svelte.dev/docs/svelte/svelte-reactivity

Re: Ripple – A TypeScript UI framework that takes the best of React, Solid, Svelte

#44

It's great people experiment. Yet, after a quick glance the framework seems to break expected semantics for no gain? For example: the "component" construct auto-renders the JSX within the brackets instead of being a function that "returns a view as value" (if I understood correctly). I'm cool with breaking the "f(x)=>UI" but what for? The TS and VS Code integration is all fine and good but what's the gain of using JS…

[deleted]

Re: Ripple – A TypeScript UI framework that takes the best of React, Solid, Svelte

#46

Earlier quoted context omitted.

I'm giving it a look but I can't really figure out much about the type system and how does it compare to TypeScript.

- The type system documentation is here: https://mint-lang.com/reference/types/type-system - in short it's a functional language at heart with a Hindley–Milner type system - TypeScript syntax comparison is here: https://mint-lang.com/from/typescript - The feature matrix which compares languages features is here: https://mint-lang.com/feature-matrix I hope you find those helpful :)

Thank you, wonder why I couldn't find them.

edit: by the way TypeScript supports both ADTs (through tagged unions) as well as exhausting pattern matching (on tagged unions, but an alternative can be using `instanceof`).

Re: Ripple – A TypeScript UI framework that takes the best of React, Solid, Svelte

#47

Earlier quoted context omitted.

- The type system documentation is here: https://mint-lang.com/reference/types/type-system - in short it's a functional language at heart with a Hindley–Milner type system - TypeScript syntax comparison is here: https://mint-lang.com/from/typescript - The feature matrix which compares languages features is here: https://mint-lang.com/feature-matrix I hope you find those helpful :)

Thank you, wonder why I couldn't find them. edit: by the way TypeScript supports both ADTs (through tagged unions) as well as exhausting pattern matching (on tagged unions, but an alternative can be using `instanceof`).

Technically you can yes, but the language doesn't support it out of the box, you need to jump through hoops to make it work.

But you are right, I'll change TypeScript to say it's partially supported.

Re: Ripple – A TypeScript UI framework that takes the best of React, Solid, Svelte

#48

I feel like these functional GUI renderers are all trying to make JS something it is simply not. I want to render my view with instances of classes as a model.

> I feel like these functional GUI renderers are all trying to make JS something it is simply not.

I wholeheartedly agree.

I liked React's support for function components and hooks are quite a treat, but still I think class components are a far better fit for complex components that have logic and state. I'm seeing all this complex logic being expressed as a convoluted mix of hooks and I can't help myself thinking it would be far cleaner to have a class where this logic was handled eith plan old inversion of control.

Re: Ripple – A TypeScript UI framework that takes the best of React, Solid, Svelte

#50

It's great people experiment. Yet, after a quick glance the framework seems to break expected semantics for no gain? For example: the "component" construct auto-renders the JSX within the brackets instead of being a function that "returns a view as value" (if I understood correctly). I'm cool with breaking the "f(x)=>UI" but what for? The TS and VS Code integration is all fine and good but what's the gain of using JS…

I love JSX and hate HTML template syntax, so there's at least one person.

What I like about JSX is that you can reuse all of the control flow primitives from JS. You have if, for, map, filter, flatMap, etc. if you want a new combinator, just write a function as you would for any other type of data transformation.

I consider this one of the biggest advantages of React compared to the approach of having separate templating and scripting languages.

Post reply on HN