首頁  >  文章  >  web前端  >  提高你JavaScript學習的有趣實驗

提高你JavaScript學習的有趣實驗

阿神
阿神原創
2017-01-23 14:43:121151瀏覽

學無止境 — 特別是在網頁開發當中. 我們的行業在不斷地更新和完善自己,我們也應該這樣! 不幸的是,堅持會使人精疲力盡,但其實並一定是這樣。 在本文中我將告訴你如何將小實驗變成一種有趣的和有效的方式來學習新的東西,並確保學習並保持最新的樂趣。

保持實驗的樂趣

你做業餘專案嗎?如果你做,我相信你曾經做過一個一開始充滿樂趣,但是很快就變成一團亂麻的項目。 陷入困境不是一件很有趣的事情,而且會對雙方的專案和你的工作造成很大的傷害。主要原因往往是範圍蔓延或壓力,而你應該在你的業餘時間放鬆一下。透過執行一些規則,可以確保我們不會遇到不愉快的意外:

1.準備好你的工作。確保你知道你的實驗到底有多大,它包含什麼。 如果它太多了,把它分成可管理的區塊,每一個區塊要有開始和結束,或終止它。

2.計畫任務。 每天晚上不要熬夜。只要安排一個或兩個小時,每週一次或兩次。

3.沒有截止日期。每個人,包括你在內,都需要放鬆。設定目標是好的,沒有完成也沒有關係。

4.給自己一些娛樂時間. 雖然你不應該拖延,但生活不僅僅是在代辦事項列表上打上一個個對勾。花點時間好好享受你的勞動果實吧。

做小實驗不代表它們不能成為大專案的一部分。拿一個資料視覺化專案為例,完成它需要一定的時間,但是可以很容易地把它分成一個個小任務:

●設立一個建構工作流程

●取得有趣的資料(這是個能激發你的靈感的APIs列表)

●用Node.js獲取和處理數據,利用ES2015 的特性

●對比和選擇一項技術(canvas, WebGL, DOM/SVG) 或庫(d3.js, p5.js, THREE.js) 讓資料視覺化

●用你選擇的工具視覺化資料

我使用Trello 範本追蹤我所有的實驗。在那裡我列出它們並為它們做計劃,並添加相關資訊直到實驗開始。對於比較大的項目,我傾向於為它創建新的模板並為每項任務添加卡片。其他的替代工具也可以滿足需求。將事情寫入文件可以排除乾擾。

回顧實驗

除了透過實際做新東西進行學習,實驗也是一個很好的機會提升自己。回顧你的實驗,問問自己以下問題:

1.透過更好的準備,執行過程中的問題可以避免麼? 如果是的話,該怎麼做?

2.執行工作的品質是什麼,我能做什麼來改善?

3.我能更有效的準備我的實驗麼?

回顧和改進我們所做的事情給我們提供了經驗— 這對我們的行業也是非常有價值的。許多實驗評價造就了好的部落格文章。

運行環境

你大概已經知道 JavaScript 在瀏覽器裡工作,但是你知道還可以在瀏覽器外運行JavaScript 程式嗎?

●Node.js 是目前為止最受歡迎的不需要瀏覽器運作的 JavaScript 。有了它,你可以寫腳本、命令列介面、桌面應用或其他東西。它可以在Windows、 OS X 和Linux 上運作。

●Electron 允許你用老式的 HTML 、CSS、和 JavaScript 建立跨平台桌面應用程式。

●Cordova 允許你用 HTML、CSS、和 JavaScript 建立行動軟體。

●React Native 允許你用 React 框架建立行動軟體。

瀏覽器API

在過去的幾年中,許多新的API被引入瀏覽器,可以讓你做各種有趣的事情。

●Service Worker API是一款較大的API,讓我們能做各種各樣的事情,例如提供離線支援。

●WebRTC是一款API能讓我們創建與另一台電腦的即時連接

有一些API允許我們使用設備連接,來做些類似讀取感測器數據的事情或讓設備做事情(比如振動) 。

●Ambient Light Sensor 提供了環境亮度訊息,供我們使用來調整網站或應用的亮度。

●Battery Status的作用一目了然。我們可以要求獲得電池狀態。 耗電量較大的程式可以用它來啟用省電模式。

●Geolocation 給我們了使用者位置的資訊。

●我們可以利用 網路資訊 為顧客提供較小的文件。

●Notifications 對許多應用都非常有用,例如聊天應用。

●你正在建立一個用滑鼠做輸入的遊戲麼,用Pointer Lock是你所需要的。

●Proximity 能讓你了解使用者和裝置是多緊密。也許這可以用來偵測「擁抱」?

●Device Orientation 讓我們偵測到何時發生方位變化。

●Vibration 能讓我們振動設備,這在遊戲中是很棒的。

庫和框架

大多數庫的目的是更輕鬆地完成工作,所以它不需要有很多的經驗來使用它。許多流行的函式庫和框架(如Angular和Reacti)甚至被當成職業的必備知識體系。一種或兩種的儲備能更好的讓你在面試中表現自己。

在了解了函式庫和框架能持續發展這麼久之後。 雖然他們是有幫助的,但是你應該了解框架和函式庫解決的問題,並且能夠在沒有這些函式庫和框架幫助下解決這些問題。

框架結構

●Angular 是一個仍然被許多團隊使用的MVC框架。

●React 是一個用來渲染視圖的函式庫。

●Polymer 是一個用於建立Web元件的函式庫。

●Lodash.js, Underscore.js 和Ramda.js 都是函數式程式庫。 有些團隊喜歡使用它們,但很多人不喜歡使用它們。 無論哪一種方式, 對functional programming(函數式程式設計) 的了解都是一個很好的開發技能,對這些架構都應該去了解一下。

現實世界

就我個人而言,當我發現可以透過編寫軟體在現實世界中做些事時,我真的很興奮。可以考慮以下的任一種:

●Raspberry Pi (樹莓派)是一種信用卡大小的單板計算機,非常適合教學或學習。

●Arduino類似於Raspberry Pi,但更側重於電子方面的事情。

●LEGO® MINDSTORMS® 是一款可控制LEGO硬體的迷你電腦。為什麼不選擇它呢?

●Johhny-FiveJohhny-Five是一個用於機器人和物聯網的JavaScript框架,可以安裝在Arduino或類似的設備上。

以上所有的小型電腦都是可編程,而且都能夠透過JavaScript來進行開發。

結論

小實驗是動手學習新事物很好的方法。另一個好處是小實驗能幫助你提升你的工作方式以及產業中最有價值的東西。透過執行一些規則,我們可以保持實驗的樂趣,激勵自己學得更多,變得更好。

對於那些正停滯不前的人,我希望這篇文章已經給你提供開始全新有趣實驗的動機。對於那些不確定下一步要解決什麼問題的人,我希望這篇文章已經為你提供了一些靈感。如果你對文章中的任何一個名詞感興趣,歡迎去搜尋它的更詳細的內容,去發現更大的世界吧。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn