robinricard | 6 years ago | on: How to build a plugin system on the web and also sleep well at night
robinricard's comments
robinricard | 8 years ago | on: Introducing Atom-IDE
You should also install language-reason and reason-refmt alongside it.
robinricard | 8 years ago | on: Django and React/Redux Boilerplate Project
- You're just getting started with React? Use CRA[1], it is enough for most of the use cases people will ever need use React with. You may also want to consider Next.js[2] if you are looking to do a more website-like app using React components but that's all...
- You know how to setup js tooling (webpack, babel, react-router, redux, ...)? You may still want to use CRA because it is way easier to use anyway. But this time you know you can either eject to more fine-grained tooling tuning or do your thing independently if you want.
If you use a boilerplate at that point, that's because you understand the tooling behind it and CRA won't answer to the precise need covered in this boilerplate. Also you should be able to maintain it and make it evolve later (the more dependencies, the harder it will be...). So in that case, if you master all of those tools (can't say I do) and integrate them often with django, then maybe, this boilerplate could be for you...
In conclusion, this covers a very special need and I don't understand how this got on top of HN... It actually makes the React community look kind of bad (assuming some people upvote when they see React stuff, which I don't think is the case) because this does not seem to solve any of the problems people outside of the community are complaining about. So, if you are looking for an easy way to use React (that won't prevent you from plugging it to your django backend btw), just use CRA!
[1]: https://github.com/facebookincubator/create-react-app [2]: https://github.com/zeit/next.js/
robinricard | 9 years ago | on: Learn Relay – A comprehensive introduction to Relay and GraphQL
learnapollo seems awesome too! I think that Apollo would benefit from this kind of documentation. You should definitely come and send a link on the Apollo's slack!
In general Graphcool is a great idea if you want to start fast with GraphQL (with any client).
robinricard | 9 years ago | on: Learn Relay – A comprehensive introduction to Relay and GraphQL
This is a great initiative! I remember struggling to learn Relay, I love it though, used it in some toy apps and will use it in some upcoming projects that I have. However I have a few issues with Relay: the main one is that it overall discourages people from starting with GraphQL. From creating a Relay-compliant GraphQL server to adding it to your app, Relay forces you to good conventions that, unfortunately, requires you to learn about its concepts and makes it super difficult to ramp up fast.
For anyone interested in working with Relay and GraphQL in general, I would advise you to start first with just learning GraphQL, without Relay and its constraints. You'll see that much of the issues you may have with GraphQL may come from actually trying to comply to Relay. Once you are okay with GraphQL, then, you can move to learning Relay.
Finally, I want to insist on the fact that GraphQL is just a specified language that can be consumed by any client you need/want. Relay is made by Facebook, for Facebook, which is a cool thing but may be a bit too much for your simple app or may not be adapted if you are migrating a legacy app to GraphQL (which was my case). That's why you should take a look to alternative clients as well (Apollo [0] for instance ;-) )!
robinricard | 9 years ago | on: Vue 2.0 is here
After that you can basically try anything, but at least you will know pretty much everything about what modern JS has to offer!
I would recommend starting with create react app [1]. I think it can be used with other libs than react as well, the thing is just a strong webpack + eslint preconfiguration so you don't have to worry about it.
robinricard | 9 years ago | on: Flow vs. Typescript
robinricard | 10 years ago | on: Fly.js: New generation build system
The second snippet uses ES6 modules [2]. Babel actually transpiles those ES6 modules into CommonJS modules when used in a Node.js environment (which is the case with a build tool).
Since even IO.js doesn't support ES6 modules for now and you're likely to use a build tool in order to use babel, you shouldn't use ES6 modules in a build file.
[1]: http://www.commonjs.org/ [2]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
robinricard | 10 years ago | on: Show HN: Anyfetch – Get relevant information directly in your inbox
robinricard | 10 years ago | on: Vanilla JS
robinricard | 11 years ago | on: The state of Clojure on Android
I disagree with the conclusion though: yeah, the classic JVM-clojure seems doomed on Android. Why ? It's not made for that, it's made for servers, it's not even used for desktop GUI programming that much. Even if we beat the startup time, it's not likely that we'll get nice UI-bindings for Android before a long time (I like the Java-interop but writing serious Android apps with the interop alone seems awful to me) and yes, there are some libraries abstracting this a little bit such as neko [1] but it's still too close to the Java-development paradigms (it's not as clojure-ish as I wish, but that's my opinon!).
So, the conclusion: no we don't need a swift for Android, and clojure is not swift anyway.
iOS already has clojure support, it's not really stable but it has decent startup times and a nice API. It's not the JVM-clojure, it's clojurescript. The UI is managed by React Native and om. It works and you get a nice REPL running too. [2] No it's not finished and has lots of bugs and it's not even publishable on the AppStore for now but it's just a matter of weeks here before addressing those problems (you can follow the work of David Nolen & Mark Fikes on this particularly, they often communicate on what they're doing but there are other awesome people working on this too!)
So for Android ? ReactNative is coming too [3]. When it's there, the community will try the same thing as what they did on iOS, and it's likely to succeed too. The community behind cljs is growing and it's becoming the main clojure implementation for ui-related stuff. You can thank React and om for that but I think that core.async has a lot to do with it too.
Anyway, I don't want to stop believing in Clojure for mobile development.
[1]: https://github.com/clojure-android/neko [2]: https://github.com/omcljs/ambly/wiki/Driving-React-Native-wi... [3]: https://facebook.github.io/react/blog/#when-is-react-native-...
robinricard | 11 years ago | on: Show HN: AtomStore – The missing piece for an immutable flux architecture
I wanted to submit that to you because I think it is currently completely useless (It could be more of an API draft in fact).
I just wanted to create a mechanism to enforce immutability in the whole flux architecture. If I manage to get more safety, I'm sure it can get more useful. For now I just want to know if you would use it...
robinricard | 11 years ago | on: Node.js Flow – Callback Hell vs. Async vs. Highland Streams
[1]: https://iojs.org/ [2]: http://koajs.com/ [3]: https://github.com/tj/co
robinricard | 11 years ago | on: An easy to use iOS floating drawer view controller
- Then he explains we are not as experienced in mobile (here for 6 years) than in desktop as we know it (here for 29 years). Worst, the tool we still use mostly is the desktop (as developers/designers/...)
- So we have to learn this "new" mobile thing und UNLEARN what we know about desktop. That's his main point
- Then he explains the different attempts to fit a desktop website inside mobile
* The "Big List" that you need to scroll endlessly to navigate
* The "Hamburger" menu that people don't understand (A/B testing showed huge drops in usage with them)
> Tabs are still better and understandable (facebook came back to it)
> Don't hide important information and/or actions => you have to understand what's important for your users
> best pattern: contextual important information for each activity of your app, the rest is hidden behind a menu button emphasized as a button
- After that he gives examples: * Reduce the amount of input in forms
* HotelTonight (just 5 hotels nearby w/ good price) vs Hotels.com (awful search, stars rating ...)
* Yelp's mobile app that don't support writing reviews vs. HotelTonight that can easily be added by just taking pictures
- Then, he explains how he works better in the startup culture * It's not about moving fast, it's about learning fast
* Don't release and walk away (feedback loop: release, refine, get feedback)
* Work with APIs and get your logic inside itrobinricard | 11 years ago | on: Io.js 1.0.0
Let's say that ES6 will provide a better runtime that may make transpiled languages less useful. Yes, ES6 does arrow functions and classes but it also provides many more cool stuff that the transpiled languages may never support such as generators if they intend to keep backward compat to older browsers. If you are in this case you should bet on ES6. If you don't care and are happy with what's included in coffee, use coffee ! You can always compile it to JS and continue your project with ES6 !
To sum up, transpiled languages are not dead and are still way more flexible than vanilla JS (as they don't depend on a big specification such as the ES specs) but ES6 does improve the runtime, and one day transpiled languages may use this new runtime.
robinricard | 11 years ago | on: VanillaJS Framework Announced
robinricard | 11 years ago | on: Atlas by Hashicorp
robinricard | 11 years ago | on: Obtain a GitHub user's public keys
robinricard | 12 years ago | on: Osxc – Simple configuration tool for OS X
robinricard | 12 years ago | on: Osxc – Simple configuration tool for OS X
[0]: https://github.com/tc39/proposal-realms