10 lietas, kuras jūs nezināt, ka JavaScript varētu izdarīt

Autors: Randy Alexander
Radīšanas Datums: 2 Aprīlis 2021
Atjaunināšanas Datums: 14 Maijs 2024
Anonim
Vienkārši izmantojiet šo burvju frāzi katru dienu! Šie vārdi ietekmē jebkuru negatīvismu un ienaid
Video: Vienkārši izmantojiet šo burvju frāzi katru dienu! Šie vārdi ietekmē jebkuru negatīvismu un ienaid

Saturs

Kopš tā dzimšanas 1995. gadā JavaScript ir gājis tālu. Noteikti grūts ceļš, pilns pārpratumu, nepareizas izmantošanas un nezināšanas. Bet laiki ir mainījušies, kopš pēdējiem pieciem gadiem JavaScript ir pievērsis arvien lielāku uzmanību. Pievēršot lielāku uzmanību, vairāk izstrādātāju faktiski izmanto JavaScript, izmantojot to dažādiem mērķiem un izbaudot tā skaistumu. Klasisks stāsts "Neglītais pīlēns", ja jūs man jautājat.

Šajā rakstā mēs atklāsim 10 JavaScript lietošanas gadījumus, kas atšķiras no parastajiem “pārlūkprogrammā”, pie kuriem esat pieradis.

01. Ir pienācis laiks Hangout sesijai

Vai atceraties 80. gadu redzējumu par Facetime līdzīgu video komunikāciju?

Pagāja tikai 20 gadi, pirms tas ir kļuvis par pamatu, jo gandrīz visur pieejamais platjoslas internets un intensīva nelielas programmatūras, ko sauc par Skype, izmantošana.

Izmantojot Adobe Flash iespējas un Google mēģinājumu izveidot sociālo tīklu, mūsu pārlūkprogrammā jau ir video saziņas iespējas. Vai nebūtu forši iegūt šīs spējas, neizmantojot trešās puses spraudni, piemēram, Flash?


Par laimi, pārlūku pārdevēji domāja tāpat un savā programmatūrā ieviesa API "getUserMedia". Šis bija pirmais solis, lai piekļūtu ierīcēm, piemēram, kamerām vai mikrofoniem, tieši no jūsu pārlūkprogrammas.

Izmantojot Node.js kā serveri šādas lietojumprogrammas aizmugurē, ir pārsteidzoši viegli transportēt video signālu pa gaisu vienam vai vairākiem klientiem. Neveiksmīgi, līdz brīdim, kad to rakstāt, API atbalsta tikai Chrome un Opera, bet citi ātri panāks.

Tīrāka pieeja divvirzienu saziņai šobrīd ir vienīgā Chrome lieta, ko sauc par WebRTC. WebRTC dēļ klientiem ir atļauts atvērt vienādranga komunikācijas kanālus, tieši savienojot klientu ar klientu.

Jautrības labad apskatiet Sindre Sorhus Photo Booth ieviešanu, kas pabeigta 121 baitus!

var video = document.getElementsByTagName (’video’) [0],
navigator.getUserMedia (’video’, successCallback, errorCallback);

funkcija successCallback (straume) {
video.src = straume;
}

function errorCallback (kļūda) {
console.log (kļūda);
}


02. $ (’gaisma’). FadeIn ();

Arduino mikrokontrolleru platforma ir A pakāpes piemērs JavaScript lietošanas gadījumam "ārpus kastes". Tiem no jums, kas nav pazīstami ar Arduino platformu, šeit ir ļoti slavens citāts no tās vietnes:

"Arduino ir atvērtā koda elektronikas prototipu veidošanas platforma, kas balstīta uz elastīgu, viegli lietojamu aparatūru un programmatūru. Tā ir paredzēta māksliniekiem, dizaineriem, vaļaspriekiem un visiem, kas interesējas par interaktīvu objektu vai vides izveidi."

Pats Arduino atbalsta tikai kodu, kas rakstīts C, kas joprojām nav nekas liels. Ar dažām C rindām (papildus tam, ka citi ir paveikuši šo darbu jūsu vietā), Arduino var saņemt komandas, izmantojot USB portu, izmantojot sērijas porta protokolu.

Bet kā jūs varat piekļūt seriālajam portam, izmantojot JavaScript? Skaidrs, ka ne no pārlūka.
Node.js palīgā!


Sabiedrības aizstāvja Krisa Viljamsa pūliņu dēļ mums ir Node sērijas ostas bibliotēka, kur mēs varam nosūtīt datus, izmantojot veco SP protokolu. Tas bija sākotnējais sasniegums, pamatojoties uz bibliotēku, citi cilvēki nāca klajā ar abstraktāku pieeju Arduino iespējām. Piemēram, mezglu-arduino un duino bibliotēkas.

Karstākā un stilīgākā bibliotēka ap bloku JS vadītajai Arduino programmēšanai tagad ir jonny-five. Apskatiet Bocoup emuāru, lai uzzinātu dažus karstus sūdus, ko viņi ir darījuši ar Arduino platformu, un daudz spraudņu. Arī Nicolai Onken un Jörn Zaefferer JSConf video varētu sniegt jums iespēju uzzināt, kas šodien ir iespējams ar nelielu kodu.

03. Jūsu rokas ir izveidotas pārlūkprogrammai

Minority Report nākotnes vīzija (tā, kur viņi kontrolē datorus ar rokām, nevis neglītās automašīnas) katru dienu tuvojas. Milzīgs solis šajā virzienā bija Microsoft kontroliera mazāk spēlēšanas mēģinājums Kinect. Pārsteidzoša spēle, jūs domājat, bet kāds tam sakars ar JavaScript ?!

Izmantojot Microsoft Kinect SDK laidienu, ķekars cilvēku šķērsoja Kinect pārlūka izmantošanas tiltu. Pirmkārt, ChildNodes puiši, kuri ir izveidojuši pilnīgu darbojošos kinect.js bibliotēku, kas ļauj pārlūkprogrammā izmantot Microsoft Kinect.

Es ļoti iesaku apskatīt viņu demonstrācijas un videoklipus, tas ir domāts. Viens no galvenajiem kinect.js bibliotēkas trūkumiem ir tas, ka klienta aizmugurē jābūt palaistai WebSocket servera programmai (tas faktiski ir Kinect -> C # -> JS līme).

Daži MIT slavas studenti strādā pie risinājuma, lai nojauktu šo sienu, ko sauc par DepthJS,
pārlūkprogrammas spraudnis, kas ļauj Kinect izmantot pārlūkiem Chrome un Safari pat vietnēm, kas nav optimizētas izmantošanai uz Kinect jebkādā formā. DepthJS pašlaik ir agrīnā attīstības stadijā, taču noteikti ir vērts to sekot.

04. 3D spēles, kas kontrolētas ar jūsu spēļu vadības bloku

Vai kādreiz esat mēģinājis mūsdienās spēlēt pārlūkprogrammu, kas nav Flash programma? Grafiskās iespējas ir pārsteidzošas, it īpaši, ja redzat spēļu klonus, piemēram, Quake.

Bet, spēlējot šo saturu, jūs vienmēr esat piesaistīts tastatūrai un (lielākoties) neveiklajai pelei. Tas ir galvenais trūkums, it īpaši darbības spēlēm, tas tos patiešām attur no pārlūka.

Vai nebūtu forši, ja jūs vienkārši varētu pievienot Xbox kontrolieri datoram un sākt spēlēt iecienītāko pārlūka spēli? Šī vairs nav nākotnes vīzija, sasveicinieties ar Gamepad API!

Ja pie galda atrodas spēļu konsole, pievienojiet to tūlīt un izbaudiet dažas spēles, kurās jau tiek izmantota Gamepad API. Ievades vadību programmēšana ir arī kūkas gabals, pārbaudiet šo koda fragmentu vai pat labāk, palaidiet to pats:

div id = "gamepads"> / div>
skripts>
funkcija gamepadConnected (notikums) {
var gamepads = document.getElementById ("gamepads"),
gamepadId = event.gamepad.id;

gamepads.innerHTML + = "Spēļu konsole savienota (id =" + gamepadId + ")";
}

window.addEventListener ("MozGamepadConnected", gamepadConnected, false);
/ skripts>

Ja vēlaties uzzināt vairāk par pārlūkprogrammu 3D iespējām, apskatiet Three.js un Jens Arps atvērtā koda 3D simulatora dzinēju Ascent, kas uzbūvēts tam virsū. Marks Hammils uzmanies, mums var būt vajadzīgs cits Wing Commander turpinājums!

05. Flash palaišana jūsu iPad

Kā atklātu standartu cienītājam un Apple fanam man jāatzīst, ka es patiešām vēlētos pateikties Apple par Flash neieviešanu iPad un iPod, tas patiešām uzsāka tādu atvērto tehnoloģiju kā HTML5, CSS3 un JavaScript iekļaušanu.

Kā aģentūras darbiniekam man jāsaka, ka mūsu klientiem tā ir patiešām slikta situācija.
Lielākajai daļai no viņiem ir jāmaksā divreiz par vienkāršu reklāmu vai kampaņu, kuru viņi uzsāk, lai interaktīvs saturs tiktu palaists vecajā IE7 vai IE8, izmantojot Flash un modernās pārlūkprogrammās, kā arī iDevices, izmantojot HTML5.

Veco pārlūkprogrammu funkciju aizpildīšanai ir robežas, lielākoties tās sauc par veiktspēju. Tātad, vai nav iespējas palaist Flash šajos Flashless iDevices?

Protams, ir viens, un, protams, tas ir iebūvēts JavaScript.

Vēsture: 2010. gadā Tobiass Šneiders izlaida nelielu bibliotēku ar nosaukumu Gordon
kas ļāva SWF failus palaist tieši pārlūkprogrammā. Tas diezgan labi noderēja maziem Flash failiem, piemēram, reklāmām, kurās tika izmantotas tikai funkcijas līdz Flash 2. versijai, taču augstāka līmeņa funkcionalitāte vispār netika iekļauta.

Kad Tobiass pievienojās ueberJS uzņēmumam UXEBU, viņi nāca klajā ar jaunu ideju.
Un tā, Bikešeds piedzima. Pats Bikeshed ir sava veida JavaScript animācijas ietvars, taču tas ir arī JavaScript Flash uz visu, ko vēlaties, lai tas būtu kompilators (tas ir balstīts uz adapteri, lai jūs varētu rakstīt adapterus visam, ko vēlaties, lai gan standarta rīcība ir Flash kompilēšana JavaScript). . Tas ir saderīgs ar Flash 10 un ActionScript 3. Apskatiet tās tīmekļa lapu, lai uzzinātu vairāk par tās daudzajām funkcijām bez kompilatora.

06. Lietotņu rakstīšana viedtālrunim

Vietējo lietojumprogrammu rakstīšana mobilo tālruņu vidē ir akmeņains ceļš. Tas sākas ar lēmumu, kuru platformu vēlaties atbalstīt. Ja jūsu lietojumprogramma darbojas uz iPhone un iPad, ar Android darbināmu mobilo ierīci, Windows Mobile, Blackberry ierīcēm, WebOS balstītām ierīcēm un tā tālāk.

Katrai no šīm platformām ir savi API un pārsvarā tiek izmantotas dažādas programmēšanas valodas.
Ja esat pārcietis pārlūkprogrammu karus, ļaujiet man pateikt, ka tas ir veids, kā cīnīties grūtāk, lai iekļūtu. Izstrādātājam ir gandrīz neiespējami laikā un budžetā izveidot lietojumprogrammu visām šīm platformām.

Ko tad darīt? Algot vairāk izstrādātāju? Vai jāmaksā vairāk par lietotnēm? Vai arī atrodiet labāku pieeju, lai pārliecinātos, vai jūsu kodu bāze darbojas visās ierīcēs? Kā lielākā daļa no jums es gribētu pēdējo pieeju.

Bet kā būtu jābūvē šīs lietotnes? Kas kopīgs visām šīm platformām? Jūs, iespējams, zināt atbildi, ka tas ir tīmekļa pārlūks un tāpēc JavaScript dzinējs.

Tā ir Apache Cordova ideja, kas labāk pazīstama ar savu iepriekšējo nosaukumu PhoneGap.
Cordova ir JavaScript ietvars, kas apkopo katras mobilās vides API un atklāj veiklu JavaScript API, lai tos visus kontrolētu. Tas ļauj uzturēt vienu koda bāzi, kuru pēc tam izveidojat un izvietojat dažādās mobilajās ierīcēs.

Pārbaudiet šeit esošos resursus, lai uzzinātu, kā izmantot Cordova, lai izveidotu kick ass mobilās lietotnes, kuras jūs izveidojat vienu reizi un darbosies visur.

07. Ruby un Python palaišana jūsu pārlūkprogrammā

Mozilla, kas atrodas slavenā Firefox pārlūka aizmugurē, nodarbina daudz geeku, tas ir skaidrs. Viens no viņiem ir Alons Zakai, Mozilla Research Team inženieris, kurš uzbūvēja neparastu rīku ar nosaukumu Emscripten.

Emscripten ļauj jums lietot LLVM bitu kodu - ko var ģenerēt no C / C ++ balstītām bibliotēkām - uz JavaScript. Tas tiek darīts, apkopojot bibliotēkas bitu kodā un pēc tam, paņemot šo bitu kodu un pārveidojot to JavaScript. Veikls, bet ko es patiesībā varu darīt, jūs varētu sev pajautāt?

Man jums ir pretjautājums: vai esat kādreiz dzirdējuši frāzi "CoffeeScript un Prototype izmantošana ir vistuvākā, ko varat iegūt, palaižot Ruby pārlūkprogrammā"? Nē? Neuztraucieties, jo tā vairs nav taisnība.

Izmantojot Emscripten, jūs varat vienkārši paņemt Ruby avotus, pārveidot tos JavaScript un voilà, palaist pārlūkā īsto Ruby! Bet tas neattiecas tikai uz rubīnu, piemēram, tika izlaists arī Python.

Vai arī pārbaudiet pārlūkprogrammas h.264 dekodētāju Broadway. Tā faktiski ir izraksta C ++ bibliotēka!

Dodieties uz vietni repl.it, lai pārlūkprogrammā redzētu dažas programmēšanas valodas (ieskaitot Ruby un Python)!

08. OS neatkarīgu darbvirsmas programmu rakstīšana

Iepriekš mēs runājām par mērķauditorijas atlasi vairākām mobilajām platformām ar Apache Cordova palīdzību. Nav pārsteigums, ka JavaScript var izmantot ne tikai mobilo platformu mērķēšanai, bet arī mūsu vecajam draugam - galddatoram.

Pirmie risinājumi nāca no Appcelerator puišiem ar Titanium Desktop Suite un no Adobe plaši izmantotās Air platformas.

Bet, tā kā mēs visi esam atvērtā koda cienītāji, mēs meklējam atvērtākas un uz Node.js balstītas tehnoloģijas. Iepazīstieties ar app.js! app.js ir atvērta tīmekļa tehnoloģiju un Node.js darbvirsmas programmu veidotāja, kas ļauj mums rakstīt reālas darbvirsmas programmas ar piekļuvi failu sistēmai, logu vadīklām un daudz ko citu. Mēs varam paļauties uz stabiliem Node starpplatformu API un izveidot savu programmatūras lietotāja interfeisu ar HTML un CSS. Tāpat kā šeit populārākās jaunās lietas šajā sarakstā.

app.js ir diezgan jauns projekts, tāpēc līdz šim atbalsta tikai Windows un Linux, taču saskaņā ar adresātu sarakstu Mac atbalsts ir ceļā.

09. Tīmekļa servera palaišana

Mūsdienās jūs nevienu neapbrīnojat, sakot viņiem, ka jūsu vietni apkalpo uz JavaScript balstīts tīmekļa serveris. Ja jūs domājat atpakaļ pirms diviem vai trim gadiem un tieši to pašu teicāt tīmekļa izstrādātājiem, viņi, iespējams, būtu smējušies par jums vai vēl sliktāk.

Bet ar neticamiem Node.js panākumiem tas, par laimi, ir tālu no šī brīža. Tas ne tikai vairs nepārsteidz cilvēkus, jo asinhronā rakstura dēļ Node.js ir zināma veiktspēja, it īpaši, ja nākas saskarties ar daudzu paralēlu savienojumu problēmu. Ne tikai tā veiktspēja ir strauja, patiesi vienkāršā API piesaista arī daudz izstrādātāju. Apskatīsim "Hello World" piemēru no Node pasaules, tas ir ne tikai drukāts "Hello World" ekrāna piemērā, tas ir http tīmekļa serveris!

var http = pieprasīt (’http’);
http.createServer (funkcija (req, res) {
res.writeHead (200, {’Content-Type’: ’text / plain’});
res.end (’Sveika pasaule n’);
}). klausieties (1337, ’127.0.0.1’);

Ja šī vienkāršība tevi neaizrauj, es arī nevaru tev palīdzēt.

Viena no labākajām Node popularitātes (vai hype) daļām ir tā, ka lielie uzņēmumi, piemēram, Microsoft, to faktiski atbalsta, ti, savos Azure Cloud Services!

10. Tīklu nokasīšana un ekrānuzņēmumu meklēšana

Tātad, visbeidzot, apskatīsim projektu, kas man personīgi patīk, ļaujot man komandrindā vadīt savus QUnit testus bez galvas. PhantomJS ir WebKit balstīta pārlūks bez galvas ar veiklu JavaScript (vai CoffeScript) balstītu API.

Bet jūsu JavaScript un DOM testēšana nav vienīgais Phantom izmantošanas gadījums. Kas mani patiešām aizrauj, ir tās iespējas nokasīt vietnes un ļaut jums veikt to ekrānuzņēmumus!
Jā, jūs lasāt pareizi, izmantojot Phantom, jūs varat izvadīt tīmekļa lapas dažādos grafiskos formātos, un, protams, tas ir tikpat vienkārši, kā zagt zīdainim saldumus.

Apskatīsim skriptu, kas tieši to dara:

var lapa = jauna vietne ();
page.open (’http://google.com’, funkcija (statuss) {
page.render (’google.png’);
fantoma.iziet ();
});

Tas ir viss, kas jums nepieciešams, lai izveidotu ekrānuzņēmumu, un, tā kā tas ir balstīts uz JavaScript, jūs varētu arī izmantot jQuery un manipulēt ar lapas saturu pirms tā ekrānšovēšanas!

Pagaidi! Tur ir vairāk ...

Tātad, es ceru, ka jūs esat tikpat pārsteigts kā es, kad es atklāju katru no šiem rīkiem. Šis raksts vienkārši saskrāpēja to, kas mūsdienās ir iespējams ar JavaScript. Tur ir vēl daudz vairāk kā IDS, kas pilnībā rakstīti JS Cloud9, vai ar to veikti augstas drošības jautājumi (jūsu kredītkarte tika izgatavota ar JavaScript).

Es ceru, ka jūs jūtaties iedvesmots, veltiet laiku un spēlējieties ar dažiem šeit minētajiem projektiem vai pat labāk izmantojiet dažus no šiem rīkiem un izveidojiet ap tiem jaunus materiālus. Lielākā daļa šeit ir atvērtā koda, un tur ir izstrādātāji, kuri meklē jūs, lai palīdzētu viņiem uzlabot viņu darbu, pat ja tas notiek tikai izmantojot rīkus, atklājot kļūdas un ziņojot par tām.

Redaktora Izvēle
Džons Dentons no Goodboy Digital par viņu pieeju tehnoloģijām vispirms
Lasīt Vairāk

Džons Dentons no Goodboy Digital par viņu pieeju tehnoloģijām vispirms

Goodboy Digital ir vien no pieciem 2014. gada neto balvu nominētajiem Gada jaunā aģentūra kandidātiem. Līdzdibinātāj Džon Denton pa tā tīja par avu vie uli pirmajā gadā - viņi ir ieguvuši balva , algo...
Kā izveidot savus Photoshop skriptus
Lasīt Vairāk

Kā izveidot savus Photoshop skriptus

Ja e at lietoji Photo hop vairāk nekā dažu mēnešu , jū , bez šaubām, a tap ietie ar darbībām - mazām brīnumu kabatām, ka ļauj mum atbrīvotie no identi kiem uzdevumiem, ka ir būti ki, bet ka ir mū u kv...
20 padomi ātrākiem un tīrākiem maketiem
Lasīt Vairāk

20 padomi ātrākiem un tīrākiem maketiem

Lai pie ai tītu uzticamu maketa dizaina proce u, ir vajadzīga gadu prak e. Pat profe ionāli dizaineri bieži maina avu tratēģiju, lai izmēģinātu jauna koncepcija un radoša ideja .Kā pa kaidrot Mockup c...