Not that long ago I used Create-React-App a lot to quickly boostrap my React
projects. That’s why I naturally used
Reason Scripts when I
wanted to use Reason-React. But even if I still understand the advantages of the
approach of CRA and Reason Scripts, I recently discovered
Parcel, a very minimalist bundler for web projects.

There are already a lot of articles explaining the advantages of Parcel, and
how to use it with React for instance.
What I wanted to do here is show you how you can use it to start a new project
with Reason first, then add
Reason-React to write React
components.

Writing reusable components in React is something every React developer care about (or should care about). Wether it’s to create a toolbox of styled components, to mutualize common behaviors, etc.

Although I frequently use high-order components (with React-Redux for instance), it’s only recently that I heard about the great opportunity they offer to write reusable components more easilly, especially thanks to a great library: Recompose. Let’s see how with a concrete and complete example.

In the past few weeks I've become a big fan of Reason, and in particular its association to React with Reason React. And because both Reason and Reason React are really young projects, there is not a lot of tutorials, StackOverflow questions, and documentation about it yet. So beginning a new project isn't as easy as the official website wants us think.

But not only it's already possible, but it's also very exciting to use a purely functional language to create React applications. Let's see how we can do it.

Remember when JavaScript was a language used to make elements change on the page when the cursor was over them? These days are over, every language evolves over time, and so does the way wa use them. Look at the code you wrote one or two years ago: do you feel ashamed? If yes, this post is for you 🙂

I'll try here to list some good practices to make your JavaScript code easier to write, read and maintain.

For about a year now, I use ProtonMail as my mail provider. If you don't know it, you should definitively give it a look! The mails are encrypted end-to-end, which means that ProtonMail has absolutely no readable version of the stored emails, nor any key to decrypt them.

But one thing ProtonMail doesn't do is giving the ability to export emails, for example if you want to make back-ups, or move to another provider. That's why I developed a tool to give you this ability; and to develop this tool I used a fantastic library: OpenPGP.js, which is by the way maintained by ProtonMail ;)

If you know asymetric cryptography principles, I'll just show how OpenPGP.js provides a very easy way to play with private and public key generation, and of course encrypting/decrypting and signing/verifying messages. If you don't, this article may also be the opportunity to discover it with very simple examples.

If you use JavaScript you probably know that recently a lot of new features arrived with ES2015 (also known as ES6): classes, const/let keywords, destructuring arrays and objects, modules and imports, etc.

You also probably know that all these features are not currently available in all browsers. A very good way to know how one particular feature is supported in all browsers is this ECMAScript 6 compatibility table. Looking at this table, you can think that it’s probably better not to use certain ES6 features because it can crash on some browsers. And what about Node.js? Are these features implemented? In which version?

That’s where a fantastic tool makes sense: Babel. And I’m gonna show you how to use it both client-side and server-side, so you’ll be able to play with latest JavaScript features right now.

Today I'm starting a new blog. I started a few blogs in the past. Personal blogs, where I talked about a lot of things. This blog is very different, here's why:

it's a developer blog. Yes, all articles will (probably) be technical articles, mostly talking about web developement (♥️ JavaScript), but also other related stuff.

it's written in English. Maybe you have not realized that it's not my native language because my English is perfect, but I'm French. So writing for this blog is also an opportunity to practice my English writing skills ;)