|
via Udemy |
Go to Course: https://www.udemy.com/course/react-native-ile-mobil-uygulama-gelistirme-ve-mobx/
Certainly! Here's a comprehensive review and recommendation for the Coursera course on React Native: --- **Course Review and Recommendation: Mastering React Native Development** If you're looking to become proficient in building cross-platform mobile applications that deliver truly native performance on both iOS and Android, this React Native course on Coursera is an excellent choice. Designed for both beginners and intermediate developers, it offers a thorough and practical approach to mastering React Native development. **Course Overview:** This course covers a wide array of essential topics, starting with the fundamentals of React Native. You will learn how to set up the development environment, create new projects, run them on emulators, and understand React basics, styling, and layout using flexbox. One of the standout features is the project-based approach, where after grasping the basics, you will design simple yet effective screens such as login interfaces with custom app icons and splash screens. **Key Components & Modules:** - **Navigation:** The course expertly breaks down React Navigation into three parts: Stack, Drawer, and Tab Navigators. You will learn how to create complex navigation flows, modals, side menus, and tab views, which are crucial for modern app design. - **Device Features:** Use of camera functionalities to capture photos, save them to galleries, and implement permissions management. This module introduces practical device integrations. - **Animations:** Using React Native’s Animated API, you'll create engaging UI animations, ranging from simple transitions to more complex dynamic effects. - **Maps and Geolocation:** Gain hands-on experience with map APIs by displaying markers, animated markers, and fetching user location, culminating in developing an app that showcases nearby cafes and restaurants. - **State Management (MobX):** The course teaches MobX, a flexible state management library, covering observables, actions, computed values, and reactions, along with integrating React Navigation for a smooth development workflow. - **Forms & Backend Integration:** Build registration and login screens with form validation using Formik and Yup, connect to a custom Node.js backend for user management, and handle token-based authentication. - **Real-Time Data with Socket.IO:** Implement real-time features like chat applications or multiplayer games by creating a Node.js backend with Socket.IO for instant data exchange. - **Push Notifications & GraphQL:** Send notifications through Firebase and custom backend solutions. Additionally, develop a modern app with GraphQL and Apollo Client, optimizing data fetching and state management. **Future Modules (Upcoming):** Planned additions like Styled Components, background tasks, app publishing, and more advanced features promise to keep this course relevant and comprehensive. --- **Pros:** - Practical, project-based learning approach. - Broad coverage from basic setup to advanced features. - Strong emphasis on real-world app development. - Integration of popular tools like MobX, Formik, GraphQL, and Socket.IO. - Step-by-step guidance on deploying fully native apps for both iOS and Android. **Cons:** - The course covers a lot of ground; some topics may require additional practice for mastery. - Certain modules like GraphQL and Socket.IO may be challenging for absolute beginners without prior backend knowledge. --- **Recommendation:** This course is highly recommended for developers who want to build professional, production-ready cross-platform mobile apps using React Native. Its in-depth coverage, combined with practical projects, makes it suitable for those aiming to add robust mobile app development skills to their portfolio. If you're willing to put in the time, the skills gained here will be invaluable in creating versatile and high-performance mobile applications. **Final Verdict:** Enroll in this course if you're serious about mastering React Native and want a comprehensive, hands-on learning experience that covers everything from basic components to advanced integrations. By the end, you'll be equipped to develop fully native mobile apps for both iOS and Android platforms. --- Let me know if you'd like a more concise summary or additional details!
React Native ile hazırlayacağınız bir code base ile iki platforma da (IOS, Android) tamamen native çıktı alabilirsiniz. İşte kursta bahsettiğimiz konular.Temel DerslerBu bölümde ilk adımlarımızı atarak React Native'i tanımaya çalışıyoruz.Kurulumlar, yeni bir proje oluşturmak, projeyi emulator üzerinde çalıştırmak, temel emulator kontrolleri, temel React bilgileri, stillendirme ve flex ile konumlandırma işlemleri gibi konulara değindikten sonra React Native üzerinde kullanılan temel bileşenleri sırası ile işliyoruz.Bu konuları tamamladıktan sonra React Native üzerinde çok basit ekranlar tasarlamaya başlayabiliyorsunuz.Temel bilgileri daha iyi oturtmak ve pratik olması adına çok basit bir login ekranı tasarlıyoruz. Bunu yaparken aynı zamanda uygulama ismini,iconunu ve splash ekranını değiştirmeyi de öğreniyoruz.React NavigationÖğrenme sürecinde en fazla kafa karışıklığının olduğu noktalardan biri de React Navigation. Biz kurs üzerinde bu konuyu üç bölüme ayırdık. "Stack Navigator", "Drawer Navigator" ve "Tab Navigator". Bu üç bölüm altında yeni bir ekran oluşturmayı, o ekrana yönlendirme yapmayı, modal açtırmayı, sol veya sağ menüler oluşturmayı son olarak da tab navigator oluşturmayı öğreniyorsunuz.Kamera KullanımıBu bölümde cihazın kamerasını kullanarak fotoğraf çekiyor ve çekilen fotoğrafı galeriye kaydediyoruz. Kamera görüntüsünün üzerinde ekstra kontroller ekliyor ve kullanıyoruz. Aynı zamanda kullanıcıdan bazı erişimler ile alakalı izin isteme durumlarını da bu bölüm üzerinde öğrenmeye başlıyoruz.AnimasyonlarReact Native'in sağladığı Animated nesnesini kullanarak animasyon hazırlamayı öğreniyoruz. Animated altındaki bir çok methodu tanıma şansı yakalıyoruz. Temel animasyon oluşturma bilgisine sahip olduktan rüzgar türbini projesi geliştiriyoruz.Harita KullanımıMobil uygulama geliştirme dendiğinde akla ilk gelenlerden biri de harita nesnesi. Bu bölümde harita kullanımı ile alakalı temel bilgileri ediniyorsunuz. Marker göstermek, animated marker, aktif konumu almak vb. Yine bu bölümde izinler ile alakalı neler yapmanız gerektiğini pekiştirme imkanı buluyorsunuz.Harita kullanımına genel manada aşina olduktan sonra yakınlardaki restoran ve kafeleri gösteren bir uygulama geliştiriyoruz.MobX State ManagementState yönetimi konusunda esnek, basit ve kolay anlaşılabilir bir yapı olan MobX hakkında bütün temel bilgileri bu bölümde öğreniyoruz. observable, observer, action, async action, enforceActions, computed, autorun, reaction, when, provider ve inject gibi MobX'e özel tanımları anlamaya çalışıyoruz.Yine diğer bölümlerde olduğu gibi temel bilgileri edindikten sonra o temel'i kullanarak basit bir proje geliştiriyoruz.Bu projede React Navigation ve MobX'i bir arada görme şansı yakalıyoruz. Formik ile kayıt ve giriş ekranları tasarlıyor, validasyon işlemlerini Yup ile yapıyoruz. Custom bir Node.JS servise bağlanıp kullanıcı kaydı yapıyor ve giriş yapıldıktan sonra kullanıcıya bir token tahsis ediyoruz.Yani işin özü, bu projede MobX ve React Navigation ile bir kayıt ve giriş sürecini yönetmeyi öğreniyorsunuz.Socket IO ile Real-Time ÇalışmakSocket IO, gerçek zamanlı işler yapmak istediğimizde akla ilk gelen yapılardan biri. Chat yazılımları ve multiplayer oyunlarda çokça tercih edilen bir teknoloji.Kurs üzerinde bir Node.JS backend'i oluşturup Socket IO'yu kullanıyor ve gerçek zamanlı veri aktarımı yapıyoruz.Push NotificationsFirebase ve kendi oluşturduğumuz Node.JS backend aracılığı ile uzak ve lokal bildirimler göndermeyi kurs üzerinde detaylı olarak inceliyoruz.GraphQL & ApolloGünümüz yazılım trendlerinde tepeye oynayan GraphQL ve Apollo Client'ı kullanarak bir mobil uygulama geliştiriyoruz. Apollo Client ile state yönetimini çok daha az eforla yapabilirsiniz.Yeni Eklenecek BölümlerStyled ComponentsBackground TasksUygulamayı Yayınlamak