
Solenya: Micro-framework in TypeScript - fuzzythinker
https://github.com/solenya-group/solenya
======
pickle-ts
Hi, author of Solenya here. Thanks for the post. For anyone interested, here'a
a few more links:

Main page w/ links to other resources:
[https://www.solenya.org/](https://www.solenya.org/)

Fun example app built w/ solenya: deep learning to recognize digits in your
browser: [https://www.solenya.org/deep-learning](https://www.solenya.org/deep-
learning)

Real world app built w/ solenya: code music in your browser:
[https://www.motifn.com/](https://www.motifn.com/)

------
bitwize
Solenya? The pickle man who crawls out of your soup bowl and steals your
dreams?

~~~
pickle-ts
Haha my intent was "small and powerful" but that too :)

------
teleclimber
Interesting concepts and ideas. There is definitely a lot of room to simplify
frontend frameworks and I'm glad to see work in this direction.

In the composition sample code [1] I see two counters in the code, but only
one shows up in the rendered view. Am I missing something? I would have
expected two independent counters.

[1] [https://stackblitz.com/edit/solenya-
samples?file=app%2Fcompo...](https://stackblitz.com/edit/solenya-
samples?file=app%2Fcomposition.ts)

~~~
fuzzythinker
Don't know why it's loading the counter sample. But if you click composition
on the right output pane, it will load the composition sample.

~~~
pickle-ts
Yes, it's just the way stackblitz works: the actual route gets stolen by the
stackblitz application itself.

------
ng12
It seems like React without the JSX. Why would I want to use it?

~~~
pickle-ts
Here's the motivation: [https://github.com/solenya-
group/solenya#motivation](https://github.com/solenya-group/solenya#motivation)

~~~
ng12
That doesn't really mean anything to me. It keeps talking about "other
frameworks do this" or "other frameworks focus on this" \-- but all of the
examples in the docs would be basically 1:1 rewrites into React or Vue.

~~~
pickle-ts
Someone has actually just posted on github a request for Solenya to implement
the RealWorld example app. I think that would be great idea, so people could
directly compare Solenya with say React+Redux. Abstract reasoning is one
thing, but it's always good to see side-by-side comparisons.

Note the inclusion of a state management library for an apples-to-apples
comparison, since Solenya has intrinsic state management. Also note that I'm
firmly NOT in the "all you need is the V in MVC" camp. Dealing with state is
one of the trickiest aspects of writing scalable code that I've sought to
address. There's an excellent video that discusses state management in large
applications here (in the context of Angular, but the principles apply
generally):
[https://www.youtube.com/watch?v=eBLTz8QRg4Q](https://www.youtube.com/watch?v=eBLTz8QRg4Q)

My goal has been to deal with these issues in a way that works for both small
and big apps. Previously, I dreaded having to make the decision at the start
of an app: "is this app complex enough that I have to pay the tax of using a
state manager?", where there's two very different ways of writing the
application and I had to cross my fingers whether I'd made the right choice.
The solution to this dilemma with Solenya, has been to make the tax of having
state management so low that it's always on, whether the application is big or
small.

