بفضل الله انتهيت من قراءة كتاب Pure React، الكتاب ده افضل كتاب بيشرح تكنولوجي قرأته في حياتي، وده بسبب انه بيتبع فلسفة معينة مختلفة عن اللي بيستخدمها باقي الناس اللي بتشرح الـReact بالذات، لو انت لسا بادئ تتعلم React او بدأت وحاسس انك تايه وفي حاجات كتير مش فاهمها، فغالبا ده بسبب الطريقة اللي بتتشرح بيها الـ React هتلاقي معظم الكورسات والكتب لما بتيجي تشرحلك الـ React بتشرح معاها حاجات تانية كتير زي Webpack, Babel, Redux, React Router, Next.js, Gatsby, Firebase, Docker!!

Pure React Book

لو جبتلك فرخة وقولتلك كلها، هل معقولة تحاول تشيلها كلها زي ما هي بعضمها وتحاول تحطها في بوقك مرة واحدة؟ مستحيل، أكيد هتاخد حته حته لحد ما تخلصها، كذلك نفس الأمر لو عايز تتعلم React لازم تاخد حته حته تتعلم اساسيات المكتبة اول وتفهم الدنيا ماشية ازاي وبعد كده تنقل على الإضافات والحاجات الجانبية، الكتاب ده من اسمه هو معمول عشان يحل المشكلة دي Pure React! هتتعلم React فقط، وبسبب الفلسفة دي المؤلف اصبح عنده اريحيه وبيشرح كل حاجه بالتفصيل الممل

كمثال بسيط لما جه يشرح الـ Components هيبدأ معاك من الصفر ويحاكي معاك الـprocess اللي هتم بشكل كامل يعني لو افترضنا مثلا عندك جزء معين في الموقع بتاعك عايز تعمله فهو هيشرحلك انك في البداية هترسم الجزء اللي انت عايز تصممه على ورقة وبعدين تبدأ تشوف ايه الأجزاء اللي مفروض تختارها كـcomponent وهيقولك تختار ده على أساس ايه وبعدين تدي لكل واحد فيهم إسم وبعدين تبدأ تكتب الكود وتـ implement الكلام ده كله، وبيشرح الموضوع ده كله بمثال عن ازاي تصمم tweet، ومش بس كده هيكلمك كمان عن مفروض تبدأ بأيه الأول هل تبدأ بالأب وبعدين الـ children بتوعه ولا العكس (Top-Down, or Bottom-Up) وهيقولك امتى تختار دي وامتى تختار دي وعيوب كل طريقة، هتيجي تبص تلاقي انه بيرتب أفكارك وبيعرفك هتمشي ازاي عشان متحسش بتوهان.

هيشرحلك ازاي تفكر وتطور الـ Declarative Thinking وخصوصا لو انت كنت شغال imperative programming قبل كده فأنت محتاج تغير من طريقة تفكيرك وهيديك شوية أمثلة عملية وازاي تفكر في حلها وهيقارن بين الطريقة العادية في الحل والـ declarative way أمثلة بقى زي Notifications و Animating a Change..إلخ

بردو في حاجه تانية كويسة وهو انه بيشرح Class Component و Functional Component وHooks بالتفصيل، معظم الكورسات والكتب بتطنش الClass component لدرجة ان انا كنت مفكر انها deprecated، لكنها مدعومة في كل إصدارات الـ React من البداية ووارد انك تقابلها في بروجكيت قديم.

حاجه تانية بردو تخلى الكتاب ده ممتاز انه بيشرح امثلة وبيدي Exercises كتير وعنده فلسفة فيها كويسة بردو اللي هي لا إفراط ولا تفريط مش هتلاقيه مثلا بيشرحلك امثلة او يديك Exercises عيانة زي انك تعمل counter وخلاص كده ولا بردو هتلاقيه بيقولك يلا نعمل الفيس بوك! لكن هتلاقيه مثلا بيستخدم اجزاء من المواقع المشهورة ويشتغل فيها على أساس انك تتعلم وتتدرب على الحاجه اللي بتتدرسها وفي نفس الوقت متخشش في حاجه كبيرة اوي تتوهك وتحتاج منك معلومات تانية، يعني مثلا هتلاقيه شغال على الـ Github File list يجبلك صفحة من Reddit يجبلك صفحة من Pinterest يجبلك حته من تويتر وهكذا.

في حاجات تانية كتير بيتكلم عنها زي Component Lifecycle وغيرها، الكتاب عبارة عن 21 شابتر كلهم عن الـ React وحجمه حوالي 250 صفحة.