Comments (10)
Same issue in boot-react-native: mjmeintjes/boot-react-native#48
from re-natal.
I'm voting for Boot too. My toolchains has bugs in figwheel bhauman/lein-figwheel#399 so I really hope there's a Boot solution I can use.
from re-natal.
It would be great, boot is way better at programmatically adding files to the classpath and potentially solve the already fragmented world of js dependencies (Webpack, CommomJS, ...).
What is to be done?
from re-natal.
This is a good discussion. I have not uesd boot yet, but I have quite hight it on my "try/learn" list.
Though I am not too convinced that same CLI tool like re-natal should support workflow with both build tools. I would rather prefer to have a separate CLI for example boot-natal (you name it) and implement something what is needed for the workflow with boot but outside of project build tasks. In that sense I see no clear benefits of actually merging boot-react-native with re-natal. Maybe we could build something like natal/re-natal CLI to generate boot-react-native templates?
My arguments for not mixing up lein and boot in same CLI tool:
- re-natal is very specific to development workflow with figwheel (and therefore lein), so many of commands would not make sense for boot project I guess, as probably same could be implemented as build tasks
- I think the templates would be a bit different with boot from those currently generated, like files in env/ sources which are figwheel specific
- If implementation is not designed right, re-natal will be way more complex and require be more work to maintain and extend (so noone would do it and it would just die)
It is not very clear to me what boot-react-native does not have compared to re-natal. Is it only the initial project generation for different react wrappers? Otherwise it seems more less same, no? Re-natal is actually more hacky solution (in respect to React Native) because it bypass the packager via figwheel.
from re-natal.
Good points, maybe they should be different cli tools but share a library where things in common can be found:
- Templates (excluding figwheel specific things, a lot of cljs stuff should probably be similar right?)
- Smart stuff like
xcode, use-ios-device etc
- The cljs compiler settings
- Other RN tooling that will be needed in the future
I'm just feeling that since we are such a small community it is a shame that people are solving the same issue in various places. Being small gives us the opportunity to think things through and build a good modular core that ensures a common foundation while allowing for modular extensions (boot/lein, om/reagent etc.). Not sure if this is the way to go, I have limited insight in boot for example, but I believe these things ought to be pondered at least 😄
I tried boot-react-native at first but I couldn't get things working so I switched to re-natal which has been a superior experience for me so far.
from re-natal.
We've been using boot-react-native
since its beginning, and after a few rough weeks in the beginning it's working very well for us. The approach of using the RN packager is very powerful, as there is a very similar environments for debug ("online" bundle) and release ("offline" bundle).
We also have a "one click" workflow, where running boot dev --platform ios
does a lot of things:
- update dependencies (like npm)
- start cljs compilation
- compile the objc code without opening xcode
- open the simulator and run the app
- tail the simulator log file so you get log messages in boot's output
Additionally of course also there's automatic reloading of code. You can also just require
npm dependencies, and they'll automatically get picked up. Everything reloads in 2 seconds or less. I think this interactivity is very important.
I've also felt that it's unfortunate that there's a split between re-natal and boot-react-native, and would be happy to help joining the efforts.
from re-natal.
@pesterhazy Alright good to hear. What are your thoughts on at least unifying some common elements of the two libraries?
In general I sort of got the feeling that boot-react-native
was semi-abandoned? RN is moving at a fast pace and boot-react-native
has not been updated in a while. @drapanjanas has been doing a great job of maintaining the pace.
from re-natal.
@vikeri I'd like to help get b-r-n updated in the new future. I certainly haven't abandoned it, though I agree that code and docs badly need a fresh code of paint.
Which parts do you think could be unified? I'd certainly like to see more wrappers for r-n js libraries in cljs, but those should work for either project.
from re-natal.
@pesterhazy: I've understood from slack that it is still under development and that you are using it, awesome! Yeah, since it is a fairly new project for a completely new thing, docs seem quite important. Basically the things I mentioned in #53 (comment)
Off topic: Very confusing that you have different avatars on slack and github 😉
from re-natal.
I've now create an (eventually) agnostic lib where we could put some common tools: https://github.com/vikeri/rn-cljs-tools
I wrote it in bash but it might be better to have it writte in js for example so then one may use it with npm install -g
.
from re-natal.
Related Issues (20)
- issue with loading JS files on real device with RN debugger HOT 1
- Choppy pull-to-refresh with `ScrollView` and `FlatList` HOT 1
- Crash on new project - npm install failed. HOT 1
- SOLVED: undefined is not a valid argument for 'in' (evaluating 'StopIteration' in goog.global) HOT 1
- Enabling auto-require breaks re-natal HOT 2
- support shadow-cljs HOT 3
- Android emulator can't load application when debugging is enabled HOT 1
- Incorrect jvm --add-modules options HOT 1
- Is there a way to run a dev environment in the browser ?
- Requiring goog breaks reloading with Namespace already declared
- Use of undeclared Var cljs.user/start-figwheel
- Unable to connect to a component in a module.
- Unknown argument type __attribute__ in method -[RCTUIManager... HOT 1
- Cider-jack-in not working with re-natal. HOT 1
- prn statements not showing on Figwheel
- Feature request: data-url in image source.
- moving to RN 0.6x HOT 3
- Node process figwheel bridge unexpected token error.
- Command failed: lein prod-build HOT 1
- Stuck on Prompt will Show when Figwheel connects to your application.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from re-natal.