14 ms·
Mint: A programming language for writing single page applications
- adgasf 7y agoThis doesn't look sufficiently different to JavaScript with JSX.
- untog 7y agoBeing similar enough to the technology a huge number of people use doesn't strike me as a bad thing. I don't think this is for me, but it's an interesting experiment and I could immediately grok what it was doing.
- adgasf 7y agoIf the differences are only minor then what does it enable that the more popular alternative does not? You're right the familiarity is a good thing though - just look at TypeScript!
- untog 7y ago> If the differences are only minor then what does it enable that the more popular alternative does not? Fair point. I think there's a tradeoff in there somewhere. The fact that you need to do things like wrap JavaScript in order to use it within Mint sets off all kinds of alarm bells for me. I still like the concept, but justifying an entirely new language (to myself, to my higher ups, to the company at large) is a high bar.
- superasn 7y agoYeah Vuejs was super similar to angular 1.0 that at first I thought why the heck would anyone use this clone framework. But just after using it once I realized how it had taken everything good from ang 1, dropped everything that sucked (di, decorator,etc) creating a super awesome version of it. So yeah it isn't bad if it looks similar to something lots of people already use.
- slantyyz 7y agoI agree. The first thing I thought was that it reminds me of Svelte, which I have been using and like a lot. Like you, I'm not sure it's for me, but I also think it's interesting.
- grumple 7y agoJSX is the best part of React. That's the part that seems to be kept. It does look like a cleaner and more convenient coding experience.
- efunneko 7y agoIf you want something similar to this, but would like to just code in javascript, check out http://jayesstee.org http://jayesstee.org. Simple codepen example: https://codepen.io/efunneko/pen/pxxwBQ?editors=0010 https://codepen.io/efunneko/pen/pxxwBQ?editors=0010 or slightly more involved demo: https://codepen.io/efunneko/pen/bQvLBP?editors=0010 https://codepen.io/efunneko/pen/bQvLBP?editors=0010
- codesections 7y agoThis appears to be a compile-to-js language with a compiler/related tools written in crystal. An interesting use for a DSL.
- giancarlostoro 7y agoI'm waiting to see Single Page Applications that just use Web Components from the browser. https://developer.mozilla.org/en-US/docs/Web/Web_Components https://developer.mozilla.org/en-US/docs/Web/Web_Components
- untog 7y agoA lot of people are waiting for Web Components folks to answer how you're supposed to render them without JS (i.e. server-side renders)
- giancarlostoro 7y agoYeah, I am too, although I'm not entirely opposed to using them with JS, it would be nice. I always wondered why you can't reuse HTML code. I think Components are the obvious way forward.
- dmitriid 7y agoYou won't be able to do that in the forseeable future. Multiple reasons why: - Rich Harris (author of Svelte): eager (when laziness is preferable), styling is problematic, add confusion to attributes vs. props with disastrous ergonomics, leaky design, bad underlying model (DOM), global namespace [1] - Serhii Kulykov (building Vaadin, a Web Components library): no form participation, broken autofill, broken accessibility, breaks SVG references, cannot extend built-in elements, handling focus, handling selection [2] - Sarah Mei (Salesforce UX): Web Components break accessibility and assistive technology [3] On top of that, you will always need a library/framework on top of them to orchestrate them, pass data around etc. [1] https://dev.to/richharris/why-i-don-t-use-web-components-2cia https://dev.to/richharris/why-i-don-t-use-web-components-2ci... [2] https://dev.to/webpadawan/beyond-the-polyfills-how-web-components-affect-us-today-3j0a https://dev.to/webpadawan/beyond-the-polyfills-how-web-compo... and https://dev.to/webpadawan/the-journey-of-web-components-wrong-ways-lacking-parts-and-promising-paths-1d5a https://dev.to/webpadawan/the-journey-of-web-components-wron... [3] https://twitter.com/sarahmei/status/1198069119897047041 https://twitter.com/sarahmei/status/1198069119897047041
- chmaynard 7y agoI tried to learn something about who or what is behind this language/platform. The mint-lang website is not very revealing. Someone named Szikszai Gusztáv appears to be a core contributor to the GitHub repo.
- mdgrech23 7y agoI know it's pretty amazing that this was created by by a small group of contributors. So many of the languages and tools these days are from enterprise giants like Flutter.
- adzm 7y agoA mint dev is on HN; @gdotdesign https://news.ycombinator.com/user?id=gdotdesign https://news.ycombinator.com/user?id=gdotdesign
- gdotdesign 7y agoI'm the author and main contributor of the language, let me know if you have any questions, happy to answer :)
- pier25 7y agoSo how does it work? Does it use a virtual dom? How is the performance? What about the bundle size? The answers to those questions should be on your home page. Also it would be great if you included it here: https://github.com/krausest/js-framework-benchmark https://github.com/krausest/js-framework-benchmark
- gdotdesign 7y agoMint uses React as the view layer anything else is done by either the compiler or the runtime(1). So the bundle size should be around the same as react or smaller (the compiler can output optimized code) and the performance is the same. [1]https://github.com/mint-lang/mint-runtime https://github.com/mint-lang/mint-runtime
- 7y ago
- smehtaca 7y agoI don't really see a major advantage of this over using create-react-app with Typescript and libraries like Styled components for styling and react-router for routing. All of the batteries-included features can be easily handled by libraries and tools that are already well developed.
- abathur 7y agoJust to play devil's advocate, you may not see the advantage, because you already know about all of those options. There's a fair amount of library discovery/evaluation overhead needed to get a fresh start in the React ecosystem, and the people who have to do it often don't have the perspective/context to make good choices efficiently.
- slantyyz 7y agoIt's also important to note that not all developers have the same constraints. If your employment prospects don't depend on using the major frameworks that everyone else is using, you're probably going to choose (or even create) a framework that best fits with the way you think and the way you like to work.
- zackify 7y agoLike they said, React router and the TS template for create react app. There’s your overhead discovery work to do an equivalent to this with react.
- simplify 7y agocreate-react-app only does setup. And react router is by no means intuitive.
- CathedralBorrow 7y agoEquivalent to you maybe. Certainly not to me. Not that either one of us holds the absolute truth.
- iudqnolq 7y ago
- AllegedAlec 7y agoNot to be confused with: - Mint, the Linux distro - Mint, the web-analytics tool - Mint, the motion controller programming language
- inkeddeveloper 7y agoMint, the budget app
- capableweb 7y ago- Mint, the herb - MiNT, old school operating system for... Atari?
- johnwheeler 7y agoThe U.S. Mint
- Jenz 7y agoA herb? :o, a rarity, here in HN.
- ARandomerDude 7y agoHerbs seem to be common on HN. The kind you cook with are rare.
- Jenz 7y agoIndeed, I’d correct to "such casual things are rare here on HN."
- pushpop 7y agoIf the authors are reading this: The home page has some weird width issues going on for me where content starts somewhere off the left of the screen and ends somewhere off the other end. To compound the issue, I cannot scroll to the left. Device: iPhone XS (fully updated)
- gdotdesign 7y agoThanks for reporting this, will look into it!
- pushpop 7y agoThank you For additional reference, it seems to be alternating sections starting below the fold (man I hate that phrase)
- jaredwiener 7y agoalso -- the very first example under "Try" throws a syntax error.
- Vinnl 7y agoNote: I learned about this from a comment here [1] by gdotdesign, who appears to be the main contributor [2]. [1] https://news.ycombinator.com/item?id=22245742 https://news.ycombinator.com/item?id=22245742 [2] https://github.com/mint-lang/mint/graphs/contributors https://github.com/mint-lang/mint/graphs/contributors
- _fullpint 7y agoSome of the stuff does t fit correctly on an iPhone 6-8 screen.
- jstrong 7y agoone thing that confused me, why does incrementing an integer require returning a future?
- joekinley 7y agoLooks like a similar idea to Elm
- robotron 7y agoThe Mint Guide page (Learn link) discusses Elm and it being one of the roots of this language. > What is wrong with Elm? > Elm has great developer experience, but it being a purely functional language leads to some boilerplate code and makes it harder to learn. Also, it's not possible to contribute or influence the language in any meaningful way.
- Lapsa 7y agoCan I use backtics for inline CoffeeScript code easily?
- bluebasket 7y agoseems to be written in the crystal programming language, which i am discovering here too. looks very much like ruby to me.
- thelittlenag 7y agoThis looks like a DSL on top of React.
- oweqruiowe 7y agoNot imaginative enough IMO, I'm assuming since it's a new language you can design it without the limitations we've had to design around in JS. The magic sauce for me is a global state data structure where all my app state goes into. And it should just be data. I don't need to wrap it in 'semantic' constructs. And then I need an easy way to query that, something more expressive than `get-ins` like `state.path1.path2.value`. However the state is accessed the component should just update. I don't want to provide or connect.
- bob1029 7y agoGlobal state in one happy place is basically what we've done with Blazor. Instead of using cascading parameters and other ridiculously complex ways of passing state around, we inject stateful services as scoped dependencies per client request. These are effectively just POCO models with a functional interface for mutating state. Then, we take dependencies on these throughout the web application (I.e. within each component or page). An example of one of these used heavily throughout would be UserSessionService. Certain aspects of the application may have their own dedicated state machines like LoginService (which is utilized only during the login process). LoginService takes a CTOR dependency on UserSessionService and it all plays together really nicely via Microsoft's DI. We've even wired events from server-side directly into these services so its not just for handling the client-specific interactions either. Integrating server-side events is trivial. It felt a little weird at first, but it seems we are moving in a much more sustainable direction now. I can actually test my UI state machines in complete isolation from an actual browser. Also, because they are simply .NET implementations, we can reuse these for other aspects of the application.
- oweqruiowe 7y agoHoly, this is the first time I've heard of it, but it sounds really great. > Instead of using cascading parameters and other ridiculously complex ways of passing state around So much this! There are too many folks stuck in the 'container' component pattern when really you should never pass a prop that can be queried from state. Working like this results in a sustainable application that's flexible, like you _state_ xD I'm going to give this a really close look, thank you.
- couchand 7y agoI don't see any mention of server rendering. I would expect that to be a necessary and fundamental concept for a language/toolchain specifically designed for building single-page apps.
- oweqruiowe 7y agoI agree, but do want to say that server-side rendering is a lot more complicated than just "be able to render my app on the server as well". We went down that road with a large app and the team was stoked and promising how awesome it would be, but it turns out it just slowed down the experience and users hated it. I'm a lot more hesitant about SSR now. Users don't mind spinning wheels as long as they can see something happening.
- couchand 7y agoIn a world faced with a climate crisis, client-side code faces the burden of proving that it is worth the value. Unfortunately, today companies are free to externalize their energy use by forcing users to run compute for them, in a significantly less efficient environment, and repeatedly. This insanity should not be allowed to continue. A new language is in the perfect position to structure components so that they can be cleanly rendered on a server first, and rehydrated on the client as-needed. Trying to do that backwards will always result in less developer and user satisfaction. That doesn't mean it's right to just keep doing things the bad old way.
- AndrewSChapman 7y agoI'm curious. A question for the author: What is it that you're aiming to improve over Vue + Typescript? Vue is opinionated and comes with single file components, a router, a store etc.
- iudqnolq 7y agoI've been wishing for a clean way to write a render function using JSX for every Vue component. Once I tried out React I fell in love with using ordinary JavaScript array methods instead of v-for directives and so on. (I'm a student, hate webpack, and don't want to learn it's nuances for a few years. I know from googling this can be done with sufficient webpack config).
- gdotdesign 7y agoWhat I am aiming for is to move away from writing JavaScript or minimize it to the level where it's more controllable. I've come from Elm where it is done in a very good way, but it's too restrictive, and I like react and it's expressiveness so I wanted to combine the two. Vue is really good but at the end you are still writing JavaScript which is really hard to do in a safe way. And from my experience Typescript isn't 100% safe as well.
- a_wild_dandan 7y ago> What I am aiming for is to move away from writing JavaScript or minimize it to the level where it's more controllable. Why is this a goal? Could you elaborate? > And from my experience Typescript isn't 100% safe as well. Does it need to be? In my experience, enforcing reasonable standards (don't allow escape hatches like the `any` type, or the `// @ts-ignore` comment band-aid) fosters pretty strong interfaces. I haven't really needed more from the type system. Has your experience been different?
- allover 7y agoI don't think there's any need to sealion the author on this. To your first question: JS's warts are well understood. You must already acknowledge this if you're a TS fan. To your second: TS isn't 'actually' safe, to the extent something like Elm is (i.e. very small chance of runtime errors). This is also no secret - there are lots of examples out there if you care to search for them.
- viach 7y agoWondering how could I use my favourite React calendar and paginated table components with it.
- gdotdesign 7y agoActually Mint uses React under the hood, I haven't figured out how to work with existing packages but it should be very possible.
- neurotrace 7y agoI actually love this. I don't foresee it replacing JS|TS for major app development but this looks like the perfect fit for a certain subset of SPAs. The syntax does a wonderful job of describing exactly what is needed for that subset of applications
- gdotdesign 7y agoThanks :) I love reading comments like this ;)
- pkulak 7y agoMy first thought: an entirely new language for one domain? But then I started looking at the examples and how styles and an xml-like syntax are given first-class support and it makes sense. It really is a hard problem to shove into an existing language, evidenced but all the transpiling that goes on now. Thanks for sharing!
- hencq 7y agoAgreed. I browsed through the guide and at least at first glance it looks very well designed. Things like naming a node or a component (<Item as item>) that can then be used elsewhere look really clever. I'm curious what the actual code looks like for an example app like todomvc. Edit: coffee -> code
- dgb23 7y ago> I'm curious what the actual coffee looks like for an example app like todomvc. I've never seen the term 'coffee' used in this context. Is this a typo or some kind of slang/reference?
- xwowsersx 7y agoThat was a typo and he meant covfefe.
- dgb23 7y agoI appreciate the joke :) but I really didn't get the obvious at first (code => coffee autocomplete). I was distracted by the fact that this language transpiles to JS so coffee might be a reference or something.
- xwowsersx 7y agooh haha, I thought he was referring to coffeescript for some reason. code => coffee autocomplete makes much more sense
- 7y ago
- JulianWasTaken 7y agoWhat happens if you want an entirely different kind of e.g. routing -- say traversal-based routing instead of simple matching-based routing?
- burlesona 7y agoBeing able to declaratively write CSS properties based on the component state is pretty sweet. Ie you can put “if active” in your CSS instead of putting conditional logic on the markup. That’s the first thing that jumps of the page for me with this project.
- lbj 7y agoHaving read through this, I fail to see any benefits over using existing tools like Clojurescript+React. What am I missing?
- SlowRobotAhead 7y agoI thought the same thing regarding Flutter. IDK. It’s cool to have small projects that might bring innovation, but I don’t see it here either.
- oweqruiowe 7y ago+1 Clojurescript/shadow-cljs user here as well.
- Scarbutt 7y agoClojurescript is unmaintained and full of bugs, the same for the cljs parts of core.async.
- lbj 7y agoLast commit was 2 months ago, so I wouldnt say unmaintained. And Ive yet to hit a bug.
- iLemming 7y agoFake news. Clojurescript today is a much more pragmatic and production ready option, more popular than Elm, Reason and Purescript, better than Scalajs and KotlinJs and definitely much better than JavaScript and Typescript.
- JDiculous 7y agoWell for starters you don't have to put parenthesis everywhere
- iLemming 7y agoYou seem to have no idea what you're talking about. There are actually fewer parentheses in Clojurescript than in the similar code in JS+JSX.
- SlowRobotAhead 7y agoThis aims to solve all the problems that Flutter already does. Except now with XML syntax. I didn’t like how “uncommon” Dart and Flutter were until I used them. But I’ve really come around on both after starting to use them. This though, cool, but I see no possibility of traction.
- holtalanm 7y agosuggestion for your documentation page: add id's to your h2 elements so it is easy to send a link directly to the section you're looking at to a friend/coworker.
- gdotdesign 7y agoThanks for pointing it out, will do ;)
- greggeter 7y agoFirst glance at examples -- looks like Svelte
- 0xff00ffee 7y agoMint needs to up their "we are better than X because..." message because they are stepping into a pond with lots of big fish. From what I can see: it has zero incremental development. You must start with Mint and haul in other new tools, or it doesn't work. That's a nonstarter, and part of the reason why VueJS was so easy to integrate. I read the Guide (briefly) and don't see any advantages. It looks like they thought-out the most trivial scenarios, and that's it. Recursive components? Data sharing? Messaging?
- gdotdesign 7y agoAuthor here, yeah noted. I should do a better job on selling the language but it's not easy doing this as a single individual. I can however elaborate on the points raised: - Recursive components: you can do it, the type-checker allows it and it works, or goes into an infinite loop if you don't exit correctly. - Data sharing: I don't know what you mean by this. If it's data sharing between components you can do that by creating a store and connect as many components to it as you like. - Messaging: I don't know what you are referring to? Websockets? Http? between components? The fact is that there is some many things built in that it is hard to fit it on a single page above the fold, that's why I would say it's advantages is: it's the only thing you should need. > You must start with Mint and haul in other new tools, or it doesn't work. Could you elaborate on this?
- 0xff00ffee 7y agoHi! First off, congratulations on developing and launching a product. You've done what 0.01% of developers think about but never accomplish. No criticism can take that away! As for my points: 1. thanks! 2 & 3: Reactive frameworks on an SPA are all about messaging between components. If I do an update on a dropdown, it is reactively stored in the component dataspace, but without a bus, my only choice for alerting other components is for the main component to watch that variable, keep a list of current components, and then iteratively broadcast: e.g. I must invent a message queue. How does Mint address address this problem? 4. was explained perfectly by a peer comment.
- palerdot 7y ago
- lwb 7y agoLooks pretty cool. I'd love to see a side-by-side comparing the same application in say, React/Vue/Angular/Elm and Mint.
- gdotdesign 7y agoI've done an article about comparing it with React it a while back, the code shown there might be outdated but not much: https://dev.to/gdotdesign/mint-vs-javascript-stack-15id https://dev.to/gdotdesign/mint-vs-javascript-stack-15id
- lwb 7y agoThat's pretty compelling. If mint sticks around for a while I will definitely consider it for future projects.
- max0563 7y agoBefore I start this rant I want to say that I appreciate authors who put work into trying to solve hard problems. These are hard problems and I think at least trying to make a step in the right direction is a good step. I feel like we are approaching the problem of frontend development complexity the wrong way. These new frameworks and domain specific languages fail to cut through the complexity of the real problem and instead mask the complexity with shiny new frameworks. These frameworks still all suffer from the same problems. There are deeper issues that need to be addressed. The fact that their landing page doesn’t work well on mobile is evidence of that. Assuming it was created using Mint.
- cglace 7y agoWhy should mint solve cross browser css presentation?
- gdotdesign 7y agoI think you are right about that. Mint is not a solution of the whole front-end development but a part of that, it tries to solve the problem of single-page applications specifically. > There are deeper issues that need to be addressed. The fact that their landing page doesn’t work well on mobile is evidence of that. Assuming it was created using Mint. Actually it's not created in Mint and that it doesn’t work well on mobile is the evidence that I didn't tested it thoroughly :D
- ScottFree 7y ago> There are deeper issues that need to be addressed. That's true, but those can only be addressed by the browser makers and the standard committees. It's hard, slow work that will take years to bear any fruit. Frameworks are ways to experiment with the web environment we have available to us today.
- holtalanm 7y agowould be neat to see an implementation of the realworld app with Mint. https://github.com/gothinkster/realworld https://github.com/gothinkster/realworld
- gdotdesign 7y agoThere you go: https://github.com/mint-lang/mint-realworld https://github.com/mint-lang/mint-realworld ;) It maybe a little bit outdated but it should get the point across, also the demo seems to be offline, I'll check in the morning and get back to you :)
- oliverx0 7y agoWow this is very cool!! I really like the syntax and how the components are structured
- arjunbajaj 7y agoCan you comment on the differences/advantages compared to Elm in terms of type safety, helpful error messages, no runtime errors, and other features?
- gdotdesign 7y agoSince I used Elm before and after I lost interest I wanted have the same experience, so I created Mint. It has a similar type system (HM) nice error messages, ADTs and if you don't do JS interop then no runtime errors.
- arjunbajaj 7y agoI am considering using Elm soon. Can you talk about why you lost interest? Somethings that are better done in Mint than Elm?
- gdotdesign 7y agoRounting, styling and data storage is much better and easier to do. I lost interest beacuse I wanted to help/influence it's the development but my ideas weren't welcome and after two? years since then the problems are still the same without a solution in sight.
- arjunbajaj 7y agoThanks! I'll give Mint a try too! :)
- jb3689 7y agoThis feels like a repackaging of ideas that have been around for awhile. I'm not sure I see the value prop of this over stitching together more loosely coupled solutions that have more of a support base. This looks more cohesive overall, but that cohesion doesn't seem worth the headache of the (likely) possibility of this losing favor in a few years
- jmull 7y agoA new language might be fun to work on, but it's a massive negative in terms of anyone adopting a framework based on it, and in terms of the resources needed to maintain and improve the framework. Likewise, it would be more efficient to embed one of the many existing "better CSS"s than do another one. It's sad to say so, given how much work seems to have gone into this, but it looks DOA to me.
- taco_emoji 7y agoFrom the install page: > To easily install Crystal on MacOSX you can use Homebrew. I think "Crystal" should be "Mint"...
- channel_t 7y agoUh, Mint is written Crystal.
- taco_emoji 7y agoI realize that, but look at the page. It's pretty clearly a typo. EDIT: it's been fixed now.
- ryanar 7y agoI really dislike the choice of `fun` to represent function, `func` is acceptable, `fn` is acceptable, I don't even mind `def` in Python, but `fun` is a widely used english word that is making me do mental gymnastics while reading mint source code.
- joshdance 7y agoI agree. It is jarring each time I see it. Might be able to get use to it but definitely question the choice.
- chmaynard 7y agoStandard ML uses the keyword fun to declare a function, so it didn't seem unusual to me.
- mbo 7y agoWalder's Law states that: In any language design, the total time spent discussing a feature in this list is proportional to two raised to the power of its position. 0. Semantics 1. Syntax 2. Lexical syntax 3. Lexical syntax of comments In future, I would suggest not nitpicking the most trivial, irrelevant detail of a language's design. Please consider the level of effort it has taken to create this language.
- holtalanm 7y agono windows installer :( I'll have to try out the docker container solution, I suppose. I uninstalled the WSL a while back, and don't really want to go back down that rabbit hole.
- mintplant 7y agoMint appeals to me a lot. The two bits that have stopped me from diving in past times it's cropped up are: - No way to render a page outside of a browser. It'd suffice to be able to run a CLI tool or import Mint as a library and generate static HTML for a given component and input data. - The fact that two record types can't coexist with the same key names and type signatures. I worry this will lead to all kinds of headache dealing with dependency compatibility: any change to a record definition, even an internal one, becomes a breaking API change, and some libraries may not be usable together due to coincidental naming. I would much rather the compiler require that I annotate record literals with explicit type names to disambiguate, ie: record Todo { label : String, done : Bool } ... foo = Todo { label = ..., done = ... } Haskell dealt with a similar problem for a long time and it meant that best-practice code gave all its data type keys unwieldy prefixes to disambiguate between data types that were imported together (todoLabel and todoDone vs issueLabel and issueDone). In Mint I guess you'd also want to stick the project name in, too (so myLibTodoLabel).
- ghego1 7y agoFrom a - admittedly superficial - first look I couldn't understand if mint is able to produce a static file as well. If it Didi I think it would be a major advantage over react, angular and Vue. Of course all these support the creation of a static file, but it's not trivial and it feels like an hack more than a feature. Therefore if mint has/had the option to produce (also) a static website, I think it would have very nice use cases
- JDiculous 7y agoThis actually looks pretty cool. It's extraordinarily ambitious to create one's own language for frontend development, but I think you did a decent job.
- dang 7y agoA thread from 2018: https://news.ycombinator.com/item?id=17161533 https://news.ycombinator.com/item?id=17161533
- nojvek 7y agoMint looks nice, but I am worried about the tooling. It feels it’s trying to do too many things. Don’t get me wrong. I really applaud the effort and it’s great. I’m just telling you why I wouldn’t use it. I’ve been building SPA’s for over a decade and have had my lessons. Things are complex for a reason when it comes to large code bases contributed to by a large team. At a previous workspace we used pug(jade). Great language but it’s just not about the language. The tooling around the language really matters. You want linters, prettifiers, typecheckers, sourcemaps, dependency analyzers, good ide code completion, auto doc generators, etc to work with it. Making a language with good ecosystem is really hard. That’s why I prefer to stick to well supported proven basics. Typescript, prettier, jsx, eslint, webpack, stylint, scss, css modules etc Small well supported tools that do one thing really well and work with other tools. (Unix philosophy)
- jsf01 7y agoI like the idea of being able to use the same variables in css, js, and the rendered components, like you’ve achieved in this language. It seems like a problem everyone’s trying to solve in different ways but there still isn’t anything that feels just right. My gut reaction, without having tried this language yet, is that lacking finer grained control over everything the browser is capable of, there will come a use case that this language can’t handle (or can’t handle as nicely) as native browser languages would and such limitations will be major in any sort of complex application. That said, I’m excited to give this a try. Always appreciate novel approaches to the problems I face in my everyday work. Side note—your site doesn’t render well on a mobile device. The whole left side of the page is cutoff. Might want to look into that.
- venuur 7y agoTried to read on mobile (iOS) but the second code block, maybe called state management, is clipped and not readable.
- lenkite 7y agoClojurescript solves the impedance mismatch for front end apps elegantly. An all-in-one framework like Fulcro also solves the analysis-paralysis issue of making effective library choices for everything
- luord 7y agoSeems kind of like QT for the web (obviously very different, but the same general idea). I like it, shall try it out.
- jslakro 7y agoAll evolution to get at this moment we realize an HTA's were not too wrong