scrimba: Online programming school. It utilizes custom interactive screencasts known as “scrims”, allowing students to edit code from the teacher.

Who said the hardest section of programming is naming things?
Hyperscript isn’t a general, full-stack programming language though, it’s focused on pure front end stuff, type of a modern jQuery replacement.
Also, it is possible to write open source software in big tech companies and also be paid to accomplish it .
TC39 folks spending time moving the Ecmascript standard forward is another example of staff/principal engineers doing citizenship-oriented work to be able to get recognition for impact at FANG L6+.
Being snarky about it doesn’t change the fact that these kinds of symbiosis exist.

FWIW, my experience reflects GP that people really appreciate somebody who takes the time to teach/help others.
The idea may be the same manner that backend architectures are migrating from layered architectures to microservice or DDD alike architectures.

time it’s just simpler to keep everything as cohesive as possible.
If you’re focusing on a team splitting things up into separate files will avoid some merge conflicts.
The HTML, CSS, unit tests, and code are in separate files, however they have the same base name and are grouped together in exactly the same place.
Asynchronous code can sometimes be difficult to write efficiently so having implicit awaits might help with avoiding accidentally made fire and forget calls.

Do not get me wrong, layered architectures are still useful.
In fact, most of the DDD implementations are layered.
But there’s mental overhead when you introduce separation.

While the web was mostly leaf components this separation kinda worked.
The moment you transfer to app territory, you can find not that many items that are reusable and benefit from separation, because your UI is directly influenced by business logic and vice versa.
And because every screen in your app is a unique view right into a unique section of your functionality.
That said, I also don’t advocate “splitting everything into super small files”.
Splitting a file that is less than a “page or two” is a mistake and should be done only in special circumstances, while files that grew larger than 500 loc ought to be refactored if it seems sensible.
That’s the policy

You may use folder-by-feature structure alongside with separation of technologies, it’s just not that common to see it because the tooling to support it isn’t quite as optimized.
Similarly additionally you would e.g. want the CSS to be encapsulated regarding the component so far as possible.
I’ll see easily can find that language again, nonetheless it seems to me there may be some idea sharing between your two that could perhaps yield some amazing features…
I am Sindre, and I’m the CTO of Scrimba .
For the last 7 years, I have written all my web apps in a full-stack program writing language called Imba.
It compiles to JavaScript and its own main goal would be to make web designers more productive.

I build all the components and get them working with mostly ‘vanilla’ styling.
Then he brands/styles any he needs to simply by editing the .html and .scss files.
You’re being critical of separation choices.
To which I am curious why embedding the CSS and HTML in the Javascript file makes any difference to the designer?
In practice, we often see slightly different syntax to accommodate, but I cannot imagine that is really a true barrier.
The CSS and HTML are still logically separated from all of those other logic in the file.

1) I feel the net is shifting to more type checking.
I personally also prefer more typesafety, especially if the project grows in LOC/team size.
Thanks for sharing, I really like projects such as this.
It’s a great landing page for a language that enters the meat of it immediately with clear examples in code blocks.
The attribution clause only pertains to the licensed code, not derivatives.

  • That is where DRY steps in and says yeah this will be its own component.
  • Editors give pretty nice means of navigating to specific functions/methods/points inside a file these days, so traversing a large file is not really a concern IME.
  • If a button or “a” tag have a special click handler, I wish to know when looking at it.
  • Mind, I’m not talking about CSS’ out-of-control layout model complexity, but inventing a new syntax along with already syntax-heavy markup.

I’m not sure you are being critical of React.
You’ll find nothing about React that prevents you from separating the HTML and CSS into separate files.
It also felt wrong to me when I first started doing serious frontend development , but than it all made so much sense following a few projects and after I _experienced_ the benefites.
The pragmatic answer is that, for the the large companies usually behind those frameworks, they can have many independent teams which are working on split components, without marching on each other’s toes.
Most of these “new” frameworks are more because someone wanted to scratch an itch or solve a particular problem that they had, and frontend code simply lends itself well to being open sourced.

So when the documentation follows those patterns it’s really great (I’d put Vue in that category).
The analogy does indeed work fairly well at every level of software engineering, from frontend components to backend services.
That is one reason monoliths are excellent being an app structure, because they let you be as DRY as possible and also have as few seams as you possibly can (creating a component inside a monolith doesn’t create an external dependency, no seam).
Additionally, you can find options nowadays that enable you to have a monolith repo structure but each controller endpoint gets deployed as another lambda.
The real difficulty in software engineering is at the seams where systems or components need to connect to other systems/components.
Not that I disagree that what we have today is really a big mess but this sounds if you ask me almost just like the philosophy behind the old PHP version that everyone seems to hate.
Personally I’d much favour everything separated in a better HTML/CSS/JS than HTML+CSS+JS in a single big pile.

Similar Posts