diff --git a/README-ina.md b/README-ina.md new file mode 100644 index 0000000..64414d4 --- /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 menggunakan HTML, CSS, dan JavaScript. + +## Kenapa kamu perlu untuk percaya dengan saya? + +Banyak sekali saran yang kontradiktif dalam penggunaan React diluar sana; kenapa perlu percaya dengan 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.** Berpindah lah 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 (berbagai macam 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 berbagai macam dependensi lain yang dibutuhkan dalam langkah ini, dan jangan mulai mempelajari teknologi dependensi 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 sistem modul yang disebut `CommonJS` yang memungkinkan untuk menginstall command-line tools yang ditulis dalam JavaScript. Baca [postingan 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, library, dan modul lain yang paling sering digunakan yang terkait dengan ekosistem React, juga tersedia di `npm` seperti modul `CommonJS` dan dapat di install dengan `npm`. + +## Learning JavaScript bundlers + +Untuk beberapa alasan teknikal yang baik, modul `CommonJS` (dan semua yang ada di `npm`) tidak dapat digunakan secara native (di implementasikan secara spesifik) di dalam browser. kamu perlu JavaScript “bundler” untuk mem-“bundle” modul tersebut ke `.js` file yang nantinya di include ke dalam webpage dengan tag `