Fork me on GitHub
#announcements
<
2022-04-19
>
baptiste-from-paris13:04:02

Hello folks, it’s old (3 days!) news but @cgrand and I have released ClojureDart. It’s a Clojure compiler to Dart. The goal is to leverage Flutter and write native mobile applications on iOS/Android/macOs/linux/windows It’s alpha and does not have a REPL yet but we do support hot-reload ! Give it a try ! https://github.com/Tensegritics/ClojureDart

🎉 58
🎯 34
metal 9
partyparrot 8
borg 1
🚀 1
Eugen14:04:44

hi, tried it out already. Works great. Biggest issues where setting up my environment for Android development. Congrats !

baptiste-from-paris14:04:59

thanks ! what was hard with Android ?

Eugen15:04:03

I had to setup flutter and dart. Dart was simple, with flutter I had some issues. I ran flutter doctor and it was not detecting command line tools and such. I had to open Android Studio IDE (Bumblebee) to install them. I was expecting CLI setup all the way. Bumblebee seems o have changed some things so advice on stack overflow and other guides are not very accurate. After that it was not detecting emulator. Had to add it to $PATH. After that it was not detecting avds (emulator images). This took some trial and error until I got something working for my machine - Installed about 5 avd system images. I did try to follow official installation docs. ClojureDart App was visible in emulator. Reload only worked after pressing Enter key - thanks for putting that there. I did no know how to build my app as APK - this would be nice to add.

baptiste-from-paris15:04:04

Ok, this is mostly related to flutter though. I’ve had issues in the past with Android Studio

baptiste-from-paris15:04:32

I don’t use it anymore and just go with genymotion or a real device, the experience is way better

Eugen15:04:10

ok, as a noob I don't know how to use those 😞 - I followed the official recommendations

baptiste-from-paris15:04:16

oh, ok. Thanks for the review, it helps. Maybe you can make a PR on the documentation ? Might be good to leverage this recent experience.

Eugen15:04:41

ok, I'll give it a shot.

❤️ 2
andy.fingerhut15:04:11

An updated version of the Clojure cheat sheet has been published, which includes the new functions from Clojure 1.11 that we expect would be most commonly used: https://clojure.org/api/cheatsheet

❤️ 48
gratitude 2
Noah Bogart15:04:34

i forget about this, what a banger of a cheatsheet

andy.fingerhut17:04:04

Yep. Pretty cool failure until they update ClojureDocs to include the new things in 1.11, which has an issue for it already: https://github.com/zk/clojuredocs/issues/238

👍 1
dgb2318:04:19

Just to be sure: I assumed that (clojuredocs has the version on the top right) - I was referring to the picture shown on 404.

lread20:04:12

https://cljdoc.org/ now has new search features! Searching for libraries on the main page, among other tweaks, now: • ranks results by library popularity • matches by substring, so a search for corfield will now find Sean’s many works! And now, thanks to @corasaurus-hex, you can also search within the docs of the library you’ve selected! Quickly find: • namespaces, vars, etc • and articles! Give it a whirl and let us know what you think over at #cljdoc.

🎉 39
💜 14
clojure-spin 7
🙀 5
nyantocat 4
🔍 5
🔎 6
cljdoc 10
borkdude20:04:45

How is "library popularity" defined?

lread20:04:09

Currently by clojars download count over the last year or so.

👍 1
lread20:04:04

We don’t have stats strategy for artifacts hosted on maven central yet, so they are currently very popular by default. simple_smile

djblue21:04:05

Awesome addition! 👏

❤️ 1
💜 1
borkdude21:04:14

Can I also request a library removal? borkdude/sci should not pop up and certainly not above org.babashka/sci, since that library moved organizations.

lread21:04:15

Good question. Not currently. The libraries are sourced from clojars. I’m guessing that borkdude/sci has had more downloads in the last year than org.babashka/sci. Maybe we need to give that https://github.com/clj-easy/lib-deprecations idea some more love/thought. If cljdoc knew a library was deprecated, it could reduce its rank - or omit it from results.

lread21:04:58

Or if we could reliably figure out a library was relocated, we could use that info.

borkdude21:04:32

I'm considering one more release where I just throw an exception on load and the README only contains: moved ;)

lread21:04:27

Effective!

phronmophobic21:04:52

I'm not saying that using LATEST as a version is a good idea, but wouldn't that immediately break everyone that uses LATEST as their sci version? It's probably good to encourage people to update, but I'm not sure forcing everyone to update RIGHT NOW is the best.

borkdude21:04:59

If they were using LATEST they could change it to the last version to fix the problem. Using LATEST is a bad idea anyway

borkdude21:04:29

Another idea I had is to just print a message on load, which is a weaker form than throwing

borkdude21:04:56

Or they could change to org.babashka/sci LATEST ;P

lread22:04:49

Not that anybody is asking but… I think LASTEST is latest release including snapshots and RELEASE is latest non-snapshot release.

Cora (she/her)22:04:48

oh that's good to know

borkdude22:04:07

yes, and both are not officially supported by tools.deps and will be phased out of mvn eventually too

leifericf07:04:06

Awesome! This is a game-changer for beginners looking for libraries. Another thing that would be amazing: Visualize all libraries in a graph, clustered by two different aspects: 1. How similar libraries are in terms of which problem they solve. ◦ Example: Libraries like Transit, Nippy, and Fressian would likely be spatially close. 2. How often libraries are used together in the same project. ◦ Example: Libraries like Ring, Compojure, Reitit, Re-agent, and Re-frame would likely be spatially close. Perhaps no. 1 could be solved by allowing library authors or community members to add a “category” and “similar to” links to libraries. A more sophisticated approach might be to cluster libraries by recognizing similar function signatures and names within the library sources. Maybe no. 2 could be done by mining dependencies from Clojure repos on GitHub. These additions would allow people to see which library alternatives are available and how they tend to be composed. And it would also help people find reference projects.

leifericf07:04:05

It would also be super cool if we could somehow link videos (i.e., from YouTube) and blog posts to library docs. That would make it easier for people to discover relevant conference talks, screencasts, tutorials, etc. I’m not sure if or how that could be automated, however. Perhaps links to Clojure content would need to be crawled, then manually curated and linked to libraries by the community through some web interface.

Jakub Holý (HolyJak)07:04:18

Awesome work, @UE21H2HHD! Thank you so much!

lread12:04:10

Hey, your foundation was a great help @U0522TWDA ❤️

❤️ 1