From ab6544a50b018542b04fefa688234b868f7e488d Mon Sep 17 00:00:00 2001 From: "Moch. Ainun Najib" Date: Sat, 22 Jul 2017 18:28:29 +0700 Subject: [PATCH 1/3] Create README-ina.md --- README-ina.md | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 README-ina.md diff --git a/README-ina.md b/README-ina.md new file mode 100644 index 0000000..e8c4bd3 --- /dev/null +++ b/README-ina.md @@ -0,0 +1,112 @@ +# react-howto + +jika kamu Newbie dengan istilah React (atau istilah frontend secara umum), kamu akan sedikit kebingungan dengan ekosistem yang digunakan dalam teknologi React ini. Inilah alasannya: + +* React Teknologi hanya ditujukan untuk early-adopters(Pengadopsi awal) dan para ahli dibidangnya. +* Facebook hanya meng-open-source teknologinya saja, sehingga tidak fokus dalam menyediakan alat untuk men-develop project yang lebih-kecil-dari-facebook +* Marketing yang digunakan seperti React Guide tidak cukup mudah dicerna orang awam + +Di Tulisan ini, saya mengasumsikan kamu pernah membuat webpage menggukan HTML, CSS, dan JavaScript. + +## Kenapa mempercayai saya? + +Banyak sekali saran yang kontradiktif dalam penggunaan React diluar sana; kenapa mempercayai saya? + +Saya merupakan salah satu anggota dari tim Facebook yang membangun teknologi React. Saat ini saya tidak lagi dalam tim Facebook, sekarang saya sedang membangun startup kecil, sehingga saya mempunyai perspective dari luar facebook juga. + +## Bagaimana Mengatasi Masalah Ekosistem teknologi React + +Semua Software yang ada dibuat menggunakan berbagai teknologi, dan kamu harus cukup paham dalam mengaplikasikan berbagai teknologi tersebut dalam aplikasi yang kamu buat, Alasannya karena alat yang digunakan dalam ekosistem teknologi React ini terlihat sangat banyak, dan selalu dijelaskan dengan urutan yang salah. + +Kamu harus memahami sesuai dengan urutan dibawah ini, **tanpa melewati ataupun memahaminya secara acak**: + +* [Teknologi React](#teknologi-react) +* [`npm`](#learning-npm) +* [JavaScript “bundlers”](#learning-javascript-bundlers) +* [ES6](#learning-es6) +* [Routing](#learning-routing) +* [Flux](#learning-flux) + +**Kamu tidak perlu untuk memahami semua teknologi ini untuk produktif dengan React.** Berpindalah ke langkah selanjutnya jika memiliki masalah yang perlu untuk dipecahkan. + +Sebagai tambahan, terdapat beberapa topik yang sering disebut dalam Komunitas React, termasuk "Approach terbaru". Topik dibawah ini sangat menarik, tapi cukup sulit untuk dipahami orang awam, dan tidak cukup populer dibandingkan topik diatas, serta **tidak selalu dibutuhkan untuk kebanyakan aplikasi.** +* [Inline styles](#learning-inline-styles) +* [Server rendering](#learning-server-rendering) +* [Immutable.js](#learning-immutablejs) +* [Relay, Falcor, etc](#learning-relay-falcor-etc) + +## Teknologi React + +Sudah menjadi miskonsepsi umum jika kamu perlu membuang banyak waktu dalam menyiapkan kebutuhan (IDE, ataupun dependensi) untuk memulai memahami React. Di dokumentasi resminya, kamu akan menemukan [copy-paste HTML template](https://facebook.github.io/react/docs/getting-started.html#quick-start-without-npm) yang dapat disimpan dalam bentuk `.html` file dan dapat langsung digunakan. **Tidak perlu IDE yang siap ataupun dependensi lain yang dibutuhkan dalam langkah ini, dan jangan mulai mempelajari teknologi tersebut sampai kamu nyaman dengan dasar penggunaan React** + +saya pikir bahwa cara termudah dalam mempelajari React yaitu dengan berdasarkan [tutorial resmi](https://facebook.github.io/react/docs/tutorial.html). + +## Learning `npm` + +`npm` merupakan Node.js package manager dan merupakan cara paling populer yang digunakan orang front-end dan designer dalam membagikan JavaScript code mereka. termasuk system modul yang disebut `CommonJS` dan sehingga memungkinkan untuk menginstall command-line tools yang ditulis dalam JavaScript. Baca [post ini](http://0fps.net/2013/01/22/commonjs-why-and-how/) untuk dasar kenapa `CommonJS` dibutuhkan untuk browser, atau [CommonJS Wiki](http://wiki.commonjs.org/wiki/Introduction) untuk memahami lebih lanjut tentang `CommonJS` API. + +Component, libaray, dan modul lain yang paling sering digunakan dan terkait dengan ekosistem React juga tersedia seperti modul `CommonJS` dan dapat di install dengan `npm`. + +## Learning JavaScript bundlers + +For a number of good technical reasons `CommonJS` modules (i.e. everything in `npm`) cannot be used natively in the browser. You need a JavaScript “bundler” to “bundle” these modules into `.js` files that you can include in your web page with a `