This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-02-25
Channels
- # announcements (6)
- # asami (1)
- # babashka (80)
- # beginners (89)
- # bitcoin (1)
- # calva (30)
- # cider (33)
- # clj-kondo (1)
- # cljsrn (45)
- # clojars (5)
- # clojure (60)
- # clojure-australia (1)
- # clojure-dev (9)
- # clojure-europe (133)
- # clojure-italy (7)
- # clojure-nl (6)
- # clojure-uk (44)
- # clojurescript (11)
- # conjure (1)
- # data-oriented-programming (2)
- # datahike (13)
- # datascript (4)
- # datomic (19)
- # deps-new (29)
- # depstar (5)
- # duct (39)
- # fulcro (8)
- # girouette (1)
- # helix (10)
- # honeysql (17)
- # jobs (5)
- # jobs-discuss (2)
- # leiningen (6)
- # lsp (51)
- # malli (60)
- # meander (37)
- # membrane (8)
- # off-topic (31)
- # overtone (3)
- # pathom (36)
- # re-frame (8)
- # reagent (30)
- # remote-jobs (2)
- # sci (1)
- # sql (32)
- # startup-in-a-month (3)
- # testing (3)
- # tools-deps (7)
- # xtdb (7)
Has anyone been able to setup react-native-web to work with ClojureScript? https://github.com/necolas/react-native-web
Woah, I actually made it work… With a figwheel-main setup… Needs a small tweak in fighweel-main to get the REPL started but very cool nonetheless. Screen Shot 2021-02-25 at 7.56.08 AM.png
This example project also has it configured. Cheating a bit, of course. https://github.com/PEZ/rn-rf-shadow
@pez very cool, I was googling and saw your project, but I haven’t used shadow; that was gonna be my next step if this didn’t work.
… in terms of all-JS-tools-i-want-to-know-nothing about 🙂 (wanted to avoid that if possible)
Here’s a very good take at Expo or not Expo: https://www.youtube.com/watch?v=7-t6deIO1JE
Basically I pull in expo, but stick to the standard react-native tooling as much as possible… And go through XCode and Android Studio, etc etc… Less magic, and I’ve done through all the setup of those in the past. For somebody who has never touched XCode, it can be overwhelming, even where to click is a challenge (so many knobs, menus, checkboxes, buttons)
For me the best thing with Expo isn’t so much the build tooling. It’s how fast I can get the app tested by users.
Technically you can achieve that without Expo via https://github.com/microsoft/code-push (I used that a few years ago, used to be very easy once setup, but now it seems to require some signup with Microsoft App Center)
It just serves your javascript to a native app (that is already in the App Store or Testflight)
Those libs you can’t use b/c you use Expo. It is because it all needs to either exist in the Expo client or be pure javascript, if I have understood correctly.
If you needed to add a new binary/compiled dependency that requires some “pod install”, you’d need a new testflight or App Store update
Wait, perhaps we’re misunderstanding each other 🙂 Anyway… I am 95% certain it’s only JavaScript updates that you can push through code-push and expo currently, nothing else.
Yeah, but if my App as such can use whatever libs, that’s much better than the Expo offer, where those libs simply can’t be used.
@pez I see what you mean, yeah, if you want custom binary libs, you need your own TestFlight or App Store app with those binaries in place (vs the Expo testing app which only has a preset number of them, if I understand correctly)
@bhauman This is the small tweak I needed to do in order to get react-native-web to comply:
// module.exports = {
// shimRequire: shimRequire,
// start: startApp,
// createBridgeComponent: createBridgeComponent
// };
export {
shimRequire,
createBridgeComponent
};
Wasn’t sure how to handle the re-naming of the startApp function (as far as I can tell, that’s only needed if you’re not using Expo).Speaking of CodePush, has anyone ever tried just putting the JS for their app on the web and serving from there and caching if necessary? Seems like it wouldn’t be all that difficult.
I thought about it for a second when I was using CodePush, but CodePush was pretty solid at doing that so I didn’t want to reinvent the wheel; it has some nice things like a CLI and ability to roll back etc... but again I haven’t used it recently so I don’t know what is its state right now