Udacity 反应纳米度综述

Udacity 反应纳米度综述

原文:https://medium.com/hackernoon/a-review-of-udacitys-react-nano-degree-1085273f1a73

昨天,我完成了我的第二个纳米学位。作为一个典型的千禧一代,从 20 多岁开始,我每两年就会经历一次四分之一生活危机。这使我在 2015 年开始了我的第一次职业转变,从一名(想要成为)精算师到一名数据分析师,并且我第一次涉足在线教育,你猜对了,是数据分析师纳米学位。

通过数据分析师认证,我有了很好的经历,并建立了一套坚实的技能,我甚至能够在中途找到一份数据分析师的工作!然而,我不能把这一切都归功于认证,因为我有 4 年的精算分析师经验和坚实的数学和统计基础。

因此,当我开始觉得我在目前的职位上遇到了瓶颈,并且通过工作中的一些项目,意识到我对开发软件产品而不是制作数据报告更感兴趣时,我很自然地再次转向了 Udacity。这一次,我选择了纳米反应度。

对于那些不知道的人,React 是脸书在 2013 年发布的一个 Javascript 库。它很快与 Angular 2 和其他 Javascript 框架一起成为前端开发的标准之一。React 给前端带来的巨大改变是它的虚拟 DOM 概念,通过虚拟 DOM 改变状态,而不是直接改变网页。不用深入细节,我们只能说 React 使事情变得更快。

React 生态系统中另一个非常酷的部分是 React Native。React Native 是脸书的一个完全不同的项目,但是使用了很多与 React 相同的语法和哲学。React Native 允许您编写普通的旧 Javascript 代码来构建移动应用程序。这意味着你可以用一个代码库来制作一个 iOS 和一个 Android 应用程序。想想看...以前,如果你想制作一个应用程序,你必须雇佣一个懂 SWIFT 的开发人员来制作一个 iOS 应用程序,然后雇佣一个懂 Java 的开发人员来制作一个 Android 应用程序。现在,你只需做出反应就能做到!注意:在实践中,对于更复杂的应用程序来说,通常不只是一个代码,因为 iOS 和 Android 确实是两个不同的平台,你必须考虑到这一点。您仍然可以期望共享大量的代码,尽管这仍然比拥有两个独立的团队/项目要好。

我听说过 React,并有兴趣了解更多,我也觉得前端开发纳米学位对我所处的水平来说太基础了(我断断续续地进行了大约一年的开发)。另外:我喜欢让我的时间和金钱物有所值,从理论上讲,我会从这个项目中了解如何构建 web 和移动应用程序!因此,当 Udacity 推出 React Nano Degree 时,我觉得这是深入研究这个主题的正确时机。

背景够了,我们进入复习吧!

Udacity 专注于基于项目的学习。你通常会参加一个课程,带你完成一个项目,然后你会用你所学的知识自己做一个项目。我真的很喜欢这种方法,因为这巩固了很多知识,你最终可以把实际的项目放在你的简历/投资组合中。作为一个信息迷,我喜欢浏览关于不同技术的无休止的视频,并为自己的“高效”感到自豪,但如果我不得不残酷地对自己诚实,我只有真正坐下来做这些事情才能真正学到东西。

React 纳米级项目分为 3 个项目:

  1. 使用 React 构建应用程序
  2. 使用 React 和 Redux 构建应用程序
  3. 使用 React Native 构建移动(iOS 和 Android)应用程序。

第一个项目是使用 React 构建一个书架应用程序(咄)。您的书架页面上有 3 个不同的部分(当前阅读、想要阅读、阅读)。这是一个很好的使用 React 的入门项目,它允许您使用其强大的状态更改功能来构建一个动态应用程序,让您将书籍从一个书架(状态)切换到另一个书架。您还将了解 React-Router,它让您可以在 React 应用程序上导航到不同的 URL(www.website.com/first-page、www.website.com/second-page 等。).

第二个项目是整个纳米学位的核心。它是一个怪物!我花了将近一个月的时间才完成(尽管其他人已经完成了……挑战在于理解 Redux 的做事方式)。使用 React 构建应用程序是很棒的,但是如果你要构建任何大规模的应用程序,你可能会使用 Redux 和 React。Redux 是 JavaScript 应用程序的可预测状态容器。通俗地说,这意味着它为管理您的 React 应用程序(特别是您的状态)提供了某种结构,允许应用程序在代码不混乱的情况下进行扩展。

该项目特别是关于制作一个匿名的 reddit 风格的应用程序,任何人都可以添加/编辑/删除帖子和评论,以及投票赞成/投票反对这些帖子和评论。这个项目如此庞大的原因是,它需要理解如何使用 React 和 Redux 执行所有 CRUD(创建、读取、更新、删除)操作。仔细想想,大多数主要应用程序都有这些功能(显示信息、添加/更新/删除内容/表单等)。因此,尽管这是项目中最具挑战性和最痛苦的部分,但我从中学到了最多的东西

Project 2: My React and Redux App

最终项目基于 React Native。正如我前面提到的,React Native 是它自己的东西,取决于你对什么感兴趣,这可能与你无关,但我很高兴 Udacity 包含了它!我真的很期待这一部分,因为我一直想了解移动开发是如何工作的,它没有让人失望。

该项目包括建立一个抽认卡应用程序,你可以创建卡片组,你可以对自己进行测验(例如,你可以为你有一个测试的主题制作卡片)。对于这个项目,我们只需要在测验中有正确/错误的按钮,但我最终建立了一个 Tinder 风格的滑动功能,因为…这是一个非常酷的动画;).为此我要感谢斯蒂芬·格里德:https://www.udemy.com/react-native-advanced/

Project 3: The Swiping Feature :)

我没有专业的开发经验,但是我以前自己开发过应用程序,熟悉 ES6 和 Github。如果您刚刚开始,在深入 React 之前熟悉 ES6 语法将会使这一过程更加顺利。不过,老实说,如果你没有基本的 Javascript 经验,你甚至不应该接触 React 或任何其他库。在进入“更酷”的东西之前,有一个坚实的基础是很重要的。查看前端开发纳米学位(与 React 项目不同,你甚至可以免费学习这些课程)。

完成这个项目花了我大约 6 周的时间,尽管这因学生和他们能投入到项目中的时间而异。官方的时间表是 4 个月,与早期的计划不同,这不是一个完全按照自己的节奏进行的计划,因为你必须坚持最后期限,以跟上你的团队(你开始计划的团队)。我在第一个和第三个项目上分别花了大约一个星期,在前面提到的大型项目 2 上花了一个月。

总的来说,这是一个非常好的程序,它让您有机会使用 React 领域中的各种工具来构建实际的应用程序:React、React-Router、Redux、React-Native 等等。它们也是 ES6(Javascript 的最新版本)、Github、AJAX 请求(从后端向前端发送数据)的补充课程,以及专注于职业/社交方面的课程(你可以查看你的简历/LinkedIn 个人资料,并练习你的面试技巧)。Udacity 也有一个很好的支持网络(又名 Slack Channels ),你可以在这里讨论项目和提出问题。审查过程也非常顺畅,他们通常会在 24 小时内给你回复(尽管有时他们会根据自己的繁忙程度进行审查)。

我没有发现太多的缺点,但是课程的内容非常紧凑,尤其是项目 2,可以更加全面。看到很多同学去其他资源补充理论知识。Stephen Grider 在 Udemy 上的课程是一个受欢迎的选择,因为它们很便宜,而且价值不菲。尽管内容可以填写得更多,但最终它迫使我去查看文档并自己解决问题,所以我想,有意无意地,它帮助了我。(坦白地说,如果你不得不在 Udemy 课程上多花 10 美元才能通过,这也不是什么大不了的事情)。

最后,Udacity 专注于让你构建真实世界的应用程序来学习概念,在这方面,该计划很大程度上是成功的。我肯定会把它推荐给任何对 React 感兴趣的人,让他们的前端游戏更上一层楼。希望我能在未来的项目中使用我在这个项目中学到的技能。干杯!:)


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除