Hi All, I use Angular 6 – 10 at work every day @day$job and have used Vue.js for some side projects / school related. Long story short have been looking into standard web components for my next side project and FicusJS seems to check all the boxes. Problem is there is almost no information about FicusJS other than what I can find linked off https://webcomponents.dev/new/ The other ones in the running are GitHub/Catal…
> I think I want to stay away from build tools until I can’t No typescript then, eh?
FicusJS
31–40 of 66 posts
Re: FicusJS
#32Earlier quoted context omitted.
- Great question. The main thing I was looking for was going build-less and the section of Ficus docs kinda sold me on the idea. Seems we still need to use a dev-server to allow native imports like - https://modern-web.dev/docs/dev-server/overview/ - Which would allow testing and builds (if go that route) - Seems that you can use any renderer (uhtml, lit-html,htm, Preact), so what-ever I learn will be useable outside…
I work on LitElement and if you want to use it buildless you can do so with the JavaScript reactive properties API (so you don't need TypeScript or Babel decorators to declare properties) and Chrome 89's support for import maps. Generally, I think an import specifier rewriting dev server like Web Dev Server is the way to go since it'll work with so many other libraries out there.
https://github.com/unrelentingtech/es-module-devserver
which is a tiny middleware that uses regexps to accomplish the task instead of dragging in a JS parser :)
Re: FicusJS
#33Hi All, I use Angular 6 – 10 at work every day @day$job and have used Vue.js for some side projects / school related. Long story short have been looking into standard web components for my next side project and FicusJS seems to check all the boxes. Problem is there is almost no information about FicusJS other than what I can find linked off https://webcomponents.dev/new/ The other ones in the running are GitHub/Catal…
Stencil is the real deal. /$.02 Edit: ... if you're getting serious about standard web components per se.
Re: FicusJS
#34Why this over react, vue, or angular?
React, vue, angular, etc. are more fully fledged frameworks for creating apps. None of them focus on standard web components, and all have their own internal component state + structure.
I guess you would want this if you need your components to be standard web components, e.g. if they are consumed by a parent app written in a different framework. So maybe a comparison with Stencil[1], lit-element[2], or LWC[3] is more apt.
Re: FicusJS
#35Hi All, I use Angular 6 – 10 at work every day @day$job and have used Vue.js for some side projects / school related. Long story short have been looking into standard web components for my next side project and FicusJS seems to check all the boxes. Problem is there is almost no information about FicusJS other than what I can find linked off https://webcomponents.dev/new/ The other ones in the running are GitHub/Catal…
No experience with Ficus but others. I'd been trying to avoid that ceremony tooling/build step too. But, modern JS I've realized that's wasted effort. Embrace the suck.
Re: FicusJS
#36Earlier quoted context omitted.
I work on LitElement and if you want to use it buildless you can do so with the JavaScript reactive properties API (so you don't need TypeScript or Babel decorators to declare properties) and Chrome 89's support for import maps. Generally, I think an import specifier rewriting dev server like Web Dev Server is the way to go since it'll work with so many other libraries out there.
How lightweight is Web Dev Server? Back when the official way to go was still polyserve, I've had to make this: https://github.com/unrelentingtech/es-module-devserver which is a tiny middleware that uses regexps to accomplish the task instead of dragging in a JS parser :)
Re: FicusJS
#37Hi All, I use Angular 6 – 10 at work every day @day$job and have used Vue.js for some side projects / school related. Long story short have been looking into standard web components for my next side project and FicusJS seems to check all the boxes. Problem is there is almost no information about FicusJS other than what I can find linked off https://webcomponents.dev/new/ The other ones in the running are GitHub/Catal…
Stencil is the real deal. /$.02 Edit: ... if you're getting serious about standard web components per se.
Re: FicusJS
#38I feel like I could benefit from some sycophants in the comments here as I’m not really sure what exactly this library is for and how it compares to other web frameworks. I haven’t closely kept up with JavaScript frameworks since I stopped regularly writing JavaScript nearly 10 years ago, so maybe there’s no hope for me but reading the comments it seems other people are also asking similar questions. I think my main…
React = component-based JS single-page app architecture, using a fully virtual DOM and event system, and a new template language called JSX to greatly simplify the dev experience.
React and web components are kinda orthogonal ideas. React gives you a framework for building apps using React's design choices (including breaking your page into small reusable JS components, much like web coomponents allow too). But React goes significantly further and has opinionated choices about how to build your app, how to template your components, etc.
Web components just give you a framework-independent way to ship new elements to browsers and users--that's it. You can (in theory) actually make a web component that wraps around a React component if you were really motivated.
Why you see so much buzz and mention about web components these days is that browsers have improved _greatly_ since React was brand new. Many of the reasons to reach for a big framework like React have gone away. You don't have to rely on a super complex build system, bundlers, webpack, etc. to ship your JS to users anymore--mainstream browsers have support to import JS modules directly. You don't have to template your components in JSX and add all the baggage and complexity of a build transpilation step--you can use ES6 template literal syntax.
And that's where stuff like Ficus appears to fit in. It's for folks who don't want to pull in the complexity of a huge framework like React, but still want to build pages with components instead of a mess of imperative JS, jquery, etc. There's a whole bunch of little micro frameworks like this popping up--check out Haunted for another example.
I think a better comparison if you want to research things further would be comparing React with a web component-based framework like lit-element. Lit-element uses web components for its components, but it adds on a lot of opinionated design choices in a similar vein as React. Is one framework 'better' than the other? Well... it entirely depends on your needs and preferences. They're all capable of building great pages and apps, it's kind of like fussing and fighting over the brand of paint that you might use as a painter.
Re: FicusJS
#39I feel like I could benefit from some sycophants in the comments here as I’m not really sure what exactly this library is for and how it compares to other web frameworks. I haven’t closely kept up with JavaScript frameworks since I stopped regularly writing JavaScript nearly 10 years ago, so maybe there’s no hope for me but reading the comments it seems other people are also asking similar questions. I think my main…
Web components = build your own custom HTML elements (in a nutshell). Instead of building complex interactive things with etc. and a mess of styling & JS, you ship a JS file and users create in their HTML , , etc. that you defined. React = component-based JS single-page app architecture, using a fully virtual DOM and event system, and a new template language called JSX to greatly simplify the dev experience. React an…
Re: FicusJS
#40Initial impressions: Looks like a relatively new project -- only 59 commits, all by one person, starting from last September. And based on a GitHub search for "ficusjs," it seems that no other projects mention it. It's only a bit over a thousand lines of code, and based on a cursory glance, the code is in pretty good shape. It should be able to fit entirely in your head, and for a lightweight framework, that's a good…