Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project status? #45

Open
davidchase opened this issue Feb 8, 2015 · 4 comments
Open

Project status? #45

davidchase opened this issue Feb 8, 2015 · 4 comments

Comments

@davidchase
Copy link

@tmpvar, @hij1nx It seems like plates is/was abandoned by the nodejitsu guys.
Is it safe to say this project has reached the same fate? If so, do you mind shedding some light into why.

@heapwolf
Copy link
Collaborator

heapwolf commented Feb 8, 2015

Adventures (and strong opinions) in Templating...

I abandoned Plates because...

  • Flatiron was/is a colossal goat rodeo.
  • It was created at a time in Node where there were only a few solutions. It was an idea that didn't have enough time to incubate before it went into production. its().api().was().ugly().as().hell().

I abandoned Weld because...

  • The API never really came to maturity before it was needed.
  • JSDom made startup time really slow, so I created plates.
  • There is a lot of accidental complexity because of the API not being clear.

I tried ejs, handlerbars, pure and a few other things but hated them.

  • They all pretend that they are just HTML with some extra bits (HTML+Crap).
  • Programmatically constructing layout is a sure way to exclude non-javascript people from working on your project. Let's face it, real-world software projects usually include more than just js programmers.

For the last two years i've been using jade.

  • It's a language (not a DSL, not HTML+Crap)
  • It's composable
  • It's well supported, documented and has a community
  • It's fast enough to be completely viable even in "performance situations"
  • It's full featured, I've not run into a case yet that it couldn't address

Mainly, I think that @tmpvar and I just don't really has the need to do that much templating these days. haha. Anyway, the Weld approach is similar to jade, but instead of a language, you have code. If someone was inspired, had the time and motivation it could become much better i guess.

@davidchase
Copy link
Author

@hij1nx thanks for the insight, much appreciated I agree with the whole handlebars, ejs, etc I couldn't digest the thought of polluting html with a ton of {{}} placeholders especially when you have, like you say a lot of non-js developers working on the project(s). The problem I had with jade was the whitespaces, or whatever you want to call it, similar to why i stay away from coffeescript but thats just me. Thats what brought me to explore weld/plates, I especially like the way it was approached on the nodejs side that could play nice with the client. However my current job has some templating needed so I was kicking the tire on a new/different solution 😞 .

@heapwolf
Copy link
Collaborator

heapwolf commented Feb 9, 2015

I agree indents (python etc) is unappealing. But with jade im ok with it
because its just templating ;)

On Monday, February 9, 2015, David Chase notifications@github.com wrote:

@hij1nx https://github.com/hij1nx thanks for the insight, much
appreciated I agree with the whole handlebars, ejs, etc I couldn't digest
the thought of polluting html with a ton of {{}} placeholders especially
when you have, like you say a lot of non-js developers working on the
project(s). The problem I had with jade was the whitespaces, or whatever
you want to call it, similar to why i stay away from coffeescript but thats
just me. Thats what brought me to explore weld/plates, I especially like
the way it was approached on the nodejs side that could play nice with the
client. However my current job has some templating needed so I was kicking
the tire on a new/different solution [image: 😞] .


Reply to this email directly or view it on GitHub
#45 (comment).

Sent from Gmail Mobile

@tmpvar
Copy link
Owner

tmpvar commented Feb 9, 2015

I wouldn't say that weld is 'abandoned', but more like 'not for the faint of heart'. I'm using it for http://npmsearch.com and it was decently easy to slot in there. Mind you, npmsearch's results are just a big list haha.

One thing I have noticed is that you must know how the internals of weld work in order to do anything useful. Which makes using it as a blackbox somewhat painful.

Here's the implementation for npmsearch: https://github.com/solids/npmsearch/blob/master/public/js/connection.js#L80-L125

I guess in my mind, weld is nearly functionally complete. There are some lingering problems that may be fairly difficult to solve correctly (i.e. without breaking other use cases or introducing DSL-like binding mechanisms) and some minor things that just need to be landed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants