FYI: The React version - is jQuery free
Re:Semantic UI
by espresso_enigma on Tuesday April 11, 2017 @04:03PM
(#14091902)
I'm trying that out, and it seems that jquery is installed when you include the Semantic UI CSS. According to the docs: http://react.semantic-ui.com/usage, you need to install the CSS separately with
$ npm install semantic-ui-css --save
and with that I get ├─┬ [email protected]
│ └── [email protected]
Plus a whitescreen because jQuery is not defined...bummer
Re:Semantic UI
by espresso_enigma on Tuesday April 11, 2017 @04:18PM
(#14092048)
Sorted it, thanks to this: https://github.com/Semantic-Org/Semantic-UI-React/issues/114...
import 'semantic-ui-css';
should have been import 'semantic-ui-css/semantic.min.css';
Documentation of how to actually import and use the CSS would be nice...might be obvious to the creators, but not to hardheads like myself.
Re:Semantic UI
by espresso_enigma on Tuesday April 11, 2017 @04:27PM
(#14092127)
As one would expect with a fully featured framework, it does add some weight. I have a basic form project I'm working on that just uses some basic styling and components that I hand coded and the production JS and CSS (after gzip) are ~70k and ~2k respectively.
After including Semantic UI and dropping an example form component in, it jumped up to ~140k JS and ~93k CSS.
The Angular integrations seem to still use jQuery, that is such a bummer for me personally, it's like a bad omen.
Yes, I recently learned about that version. I am not yet sure whether it fits well with my ClojureScript code.
You don't have to use their build system. I'm purely using the less version of Semantic, which is built as a normal less files.
It also allows to pick individual components, to reduce the CSS file size.
they added a new silent install feature in version 2.2:
"We've added a new semantic.json setting autoInstall which allows for silent install when Semantic UI is used in CLI environments, making testing more streamlined."
Cool, just today I was just looking for something like sematic/bootstrap.v4 that works well with clojurescript, do you have any suggestions? Have you had any issues pulling in jquery alongside react?
No, no issues apart from the dead weight (jQuery can't be compiled with Google Closure advanced optimizations either). jQuery is almost invisible, you only notice it sometimes because of the `js/$` appearing in your code, as in the common idiom: `(-> state rum/dom-node js/$ (.popup popup-params))`.
React Semantic UI doesn't have the jQuery dependency.
I also wanted to echo: cool project! Have you written about your experience using clojurescript?
No, and I probably should write up an experience report. The short version is that ClojureScript is fantastic and I would never have been able to create PartsBox without it.
The long version is of course more nuanced :-) But there are surprisingly few downsides to using ClojureScript.
On the positive side:
* very complete, with good form styling, and lots of widgets you will use often, which is especially important for larger apps,
* the default theme is mature and has good usability, without the crazy "oh, how flat and invisible our UI is!" look.
* the class naming plays well with React (I use ClojureScript and Rum) and looks good in your code,
On the negative side:
* the CSS is huge and there is little you can do to trim it down,
* the JavaScript code is not Google Closure-ready, so it's a drag compared to my ClojureScript codebase: large and unwieldy,
* there is a jQuery dependency, so I have to pull that in, too,
* the build system is… well, strange, let's put it that way. I'm used to typing "make" and getting things built, while this thing here insists on a) painting pretty pictures in the console window, b) crapping node_modules in a directory up from the one I'm building in, c) requires interactive feedback. I still haven't found a way to automatically build Semantic UI from a zip/tarball, and others seem to struggle with it, too.
Overall, I'm happy with the choice and it has been serving me well.