通过有趣的实验改善JavaScript学习

这篇文章是由同行审查马克·布朗 感谢所有SitePoint的审稿作出SitePoint内容也可以是最好的!

学无止境 - 尤其是在web开发。 我们的行业正在不断更新和完善自己,而且也应如此! 不幸的是,紧跟可抽,但它并没有要。 在本文中,我将向你展示小实验怎么可以是一个有趣和有效的方式来学习新的东西,并确保学习和跟上最新的住宿乐趣。

饲养实验乐趣

你一边做项目? 如果你这样做,我敢肯定你做了一个项目一旦起初有很多乐趣,但很快变成了一团乱麻。 获得的东西深陷是不是有很多的乐趣,才能真正损害动机两侧的项目,以及你的工作。 这主要的原因是经常的范围蔓延或压力,而你应该在你的空闲时间来放松。 通过实施一些规则,我们可以确保我们不会碰到不愉快的意外:

  1. 准备工作。 确保你知道一个实验究竟有多大,它包含什么。 如果实在是太多了,最多把它分解成可管理的块,每个有开始和结束,或拔插头。
  2. 计划任务。 每天晚上不要熬夜。 只是安排一两个小时,一次或每周两次。
  3. 没有期限。 每个人,包括你,需要放松。 设定目标是好的,和失踪他们应该太。
  4. 给自己一些有趣的时间。 虽然你不应该拖延,使用寿命超过一个待办事项列表上的一堆检查。 花时间去享受你的劳动成果。

有小实验并不意味着他们不能成为更大的东西的一部分。 取一个数据可视化项目,例如。 它可能需要一些时间,但很容易分裂成更小的任务:

  • 设置构建工作流
  • 查找和获取有趣的数据( 这里的API的一个很酷的列表,让你的启发
  • 取与Node.js的处理数据,利用ES2015功能
  • 比较和选择技术(画布,WebGL的,DOM / SVG)或库(d3.js,p5.js,three.js所),以可视化的数据
  • 使用您所选择的工具,可视化的数据

我用Trello板来跟踪我所有实验的。 这就是我列出,并计划他们,并添加相关信息,直到时机成熟时开始的实验。 对于较大的项目,我倾向于专门创建一个新的董事会为该项目并添加卡为每个任务。 任何替代方案就足够了。 记录的东西保持噪声在我的头!

回顾实验

除了通过实际做新的东西学习,实验也提高自己的好机会。 回头看看你的实验,问自己以下问题:

  1. 可能在执行过程中的问题已经避免了更充分的准备? 如果是的话,怎么样?
  2. 什么是执行工作的质量,我能做些什么来改善?
  3. 难道我已经更有效地准备我的实验?

审查和改进我们的工作给我们的经验 - 这是在我们这个行业非常有价值的。 通信和记录得。 许多实验评论作出巨大的博客文章。

虽然不是非常的JavaScript相关的,我的一个特别有趣的实验是建立在萨斯矢量图形 ,在这里我转换地图坐标到一个路径和光栅它变成一个单像素的box-shadow。 我不仅学到无礼的功能,我不是太熟悉,之前,我也有过研究一些算法。

通过有趣的实验改善JavaScript学习

寻找灵感

如果你不知道下一步该学什么,它总是好手头有一些资源寻找灵感。

如果你喜欢的视觉效果和艺术, CodePen是一个伟大的地方开始。 该选秀权往往充满了神奇的笔值得拉开,看看它们是如何工作的。 如果你觉得更喜欢冒险,尝试DribbbleBehance的

SitePoint是由来自不同背景的许多作家供电。 正因为如此,在JavaScript的通道充满了各种的JavaScript善良的。

运行时环境

你可能已经知道,JavaScript的工作在浏览器中,但你是否知道,您可以运行浏览器的JavaScript的外面呢?

  • Node.js的是目前最流行的非浏览器的JavaScript运行。 有了它,你可以编写脚本,命令行界面或桌面应用程序等等。 它运行于Windows,OS X和Linux。
  • 电子允许您使用好老的HTML,CSS和JavaScript来构建跨平台的桌面应用程序。
  • 科尔多瓦允许你建立与HTML,CSS和JavaScript的移动应用程序。
  • 反应原住民允许您使用反应框架来构建移动应用。

浏览器的API

在过去的几年里,许多新的API已经被引入到浏览器让你做各种有趣的事情。

  • 服务人员API是一个大型的API,它使我们能够做各种事情,如提供离线支持
  • 的WebRTC是一个API,允许我们创建与另一台计算机的实时连接,并通过音频和视频数据。

一些API允许我们使用设备的硬件,做事情喜欢读出的传感器或使得设备做的事情(如振动)。

  • 环境光传感器提供了有关环境光有多亮,我们可以用它来适应我们的网站或应用程序的信息。
  • 电池状态是相当不言自明的; 我们可以要求电池状态。 较重的应用程序可以使用它来启用省电模式
  • 地理位置赋予我们关于用户的位置信息。
  • 我们可以利用网络信息 ,以更小的文件服务给客户。
  • 通知对于许多应用,如聊天应用程序非常有用。
  • 你建立一个游戏中使用鼠标进行输入? 指针锁定是你的朋友。
  • 接近让你发现用户对设备的距离。 这也许可以用来检测拥抱?
  • 设备的方向可以让我们当朝向变化来检测。
  • 振动使我们能够振动的设备,这是伟大的游戏。

库和框架

大多数图书馆的目的是把事情很容易做到,所以它绝不会伤害要使用他们的一些经验。 目前比较流行的库和框架(如角和反应),甚至可以要求一份工作。 一个或两个实验,也可以自己准备面试的一个好方法。

只知道过去这么久,库和框架。 虽然他们是有帮助的,你应该能够理解他们解决问题,并能够解决这些问题没有他们。

建筑

  • 是一个MVC框架仍然被许多团队。
  • 反应是用来渲染视图的库。
  • 聚合物是创建Web组件库。
  • Lodash.jsUnderscore.jsRamda.js都是函数式编程库。 有些球队喜欢使用它们,但很多都没有。 无论哪种方式,有很好的理解函数式编程是一种十分宝贵的技能,所以任何这些都是值得一试。

视觉

  • D3.js是图形和DOM操作库,如果你想渲染SVG或HTML图形行之有效。
  • p5.j​​s是灵感库处理 (灵活的软件速写本和视觉艺术的上下文中学习如何编写语言)。 它具有丰富的功能阵列绘制形状,做计算。
  • three.js所是一个高层次的3D API抽象掉的WebGL的困难比特。

物理世界

就个人而言,我兴奋得不得了,当我可以写软件做一些在物理世界。 如果你也这样做,可以考虑购买了一套任何如下:

  • 树莓派是一个信用卡大小的单板计算机,非常适合教学或学习。
  • Arduino的类似于树莓派,而是更注重于事物的电子侧。
  • 分类:教育是一个小型的电脑,可以控制LEGO硬件。 不去爱的种种?
  • Johhny五是物联网的机器人技术和因特网的JavaScript框架,可以在Arduino的或类似的设备安装。

所有上述的可与被编程,或者是能够运行的JavaScript。

结论

小实验是一个伟大的实践方法学习新的东西。 另一个好处是,它们可以帮助你提高你的工作方式,东西是在我们这个行业最有价值的。 通过实施一些规则,我们可以继续实验的乐趣,激励自己学习更多,变得更好。

对于那些固守成规,我希望本文为您提供了一些动力来启动一个新的,有趣的实验。 对于那些你不确定未来解决什么,我希望本文为您提供了一些启示。 或者,也许你有试验一些伟大的想法? 或者,也许我错过了什么了呢? 无论哪种方式,我真的很想听到你在下面的评论。

From: https://www.sitepoint.com//improve-javascript-learning-experiments/