10 ствари за које нисте знали да ЈаваСцрипт може да уради

Аутор: Randy Alexander
Датум Стварања: 2 Април 2021
Ажурирати Датум: 14 Може 2024
Anonim
22 апреля тяжелый день, упаси Бог это делать иначе быть большой беде. Народные приметы Вадим Ключник
Видео: 22 апреля тяжелый день, упаси Бог это делать иначе быть большой беде. Народные приметы Вадим Ключник

Садржај

ЈаваСцрипт је прешао дугачак пут од свог рођења 1995. године. Сигурно тежак пут, пун неразумевања, злоупотребе и незнања. Али времена су се променила, јер ЈаваСцрипт у последњих пет година добија све више и више пажње. Са више пажње, више програмера заправо користи ЈаваСцрипт, користећи га у разне сврхе и уживајући у његовој лепоти. Класична прича "Ружно паче", ако мене питате.

У следећем чланку открићемо 10 случајева употребе ЈаваСцрипт-а који се разликују од уобичајених „у прегледачу“ на које сте навикли.

01. Време је за хангоут

Да ли се сећате визије видео комуникације сличне Фацетиме-у из 80-их?

Требало је проћи само 20 година прије него што је ово постало уобичајено због готово свуда доступног широкопојасног интернета и велике употребе малога софтвера званог Скипе.

Захваљујући могућностима Адобе-овог Фласх-а и Гоогле-овом покушају да изгради друштвену мрежу, већ имамо могућности видео комуникације у нашем прегледачу. Зар не би било кул имати те способности без употребе додатка независних произвођача као што је Фласх?


Срећом, добављачи прегледача су мислили исто и применили АПИ „гетУсерМедиа“ у свој софтвер. Ово је био први корак у циљу приступа уређајима попут камера или микрофона директно из прегледача.

Користећи Ноде.јс као сервер у позадини такве апликације, невероватно је лако преносити видео сигнал бежичним путем до једног или више клијената. На несрећу, до тренутка када сам ово написао, само Цхроме и Опера подржавају АПИ, али други ће то брзо сустићи.

Чистији приступ за двосмерну комуникацију тренутно је само Цхроме, под називом ВебРТЦ. Због ВебРТЦ-а, клијентима је омогућено да отворе равноправне комуникационе канале, директно повезујући клијента са клијентом.

Ради забаве погледајте имплементацију Пхото Боотх-а Синдре Сорхус урађену у 121 бајту!

вар видео = доцумент.гетЕлементсБиТагНаме (’видео’) [0],
навигатор.гетУсерМедиа (’видео’, суццессЦаллбацк, еррорЦаллбацк);

фунцтион суццессЦаллбацк (стреам) {
видео.срц = стреам;
}

фунцтион еррорЦаллбацк (еррор) {
цонсоле.лог (грешка);
}


02. $ (’светло’). ФадеИн ();

Платформа микроконтролера Ардуино је пример примера примера ЈаваСцрипт-а „ван оквира“. За оне од вас који нису упознати са Ардуино платформом, ево супер познатог цитата са њене веб странице:

"Ардуино је платформа за прототипирање електронике отвореног кода заснована на флексибилном хардверу и софтверу лаком за употребу. Намењена је уметницима, дизајнерима, хобистима и свима заинтересованим за стварање интерактивних објеката или окружења."

Ардуино сам подржава само код написан на Ц језику, што још увек није велика ствар. Са неколико редова Ц (осим што су то други радили уместо вас), Ардуино може да прима наредбе преко свог УСБ порта путем протокола серијског порта.

Али како можете приступити серијском порту путем ЈаваСцрипт-а? Очигледно не из прегледача.
Ноде.јс у помоћ!


Захваљујући напорима заговорника заједнице Цхрис Виллиамс, имамо библиотеку серијских портова Ноде, где можемо слати податке преко старог СП протокола. Ово је био почетни пробој, заснован на библиотеци, други људи су смислили апстрактнији приступ Ардуиновим могућностима. На пример, ноде-ардуино и дуино библиотеке.

До сада је најзанимљивија и најхладнија библиотека око блока за ЈС вођено Ардуино програмирање јонни-фиве. Погледајте Боцоуп-ов блог за нека срања која су урадили са Ардуино платформом и обиљем додатака. Такође ЈСЦонф видео од Ницолаи Онкен-а и Јорн-а Заефферер-а можда ће вам пружити могућност да се мало окренете ономе што је данас могуће.

03. Ваше руке су створене за прегледач

Будућа визија Минорити Репорт-а (она у којој контролишу рачунаре рукама, а не ружним аутомобилима) свакодневно се приближава. Огроман корак у овом правцу био је покушај мањег играња Мицрософтовог контролера, Кинецт. Невероватно играње можда мислите, али какве ово везе има са ЈаваСцриптом ?!

Са Мицрософтовим издањем Кинецт СДК, гомила људи је прешла мост у коришћењу прегледача за Кинецт. Пре свега момци из ЦхилдНодес-а који су изградили комплетну радну библиотеку кинецт.јс, која омогућава употребу Мицрософт-овог Кинецт-а у вашем прегледачу.

Топло препоручујем да погледате њихове демонстрације и видео снимке, то је експлозија. Међутим, један од главних недостатака библиотеке кинецт.јс је тај што у задњем делу клијента мора бити покренут ВебСоцкет сервер програм (то је заправо лепак Кинецт -> Ц # -> ЈС).

Неколико ученика МИТ-ове славе ради на решењу за рушење овог зида, названом ДептхЈС,
додатак за прегледач који омогућава употребу Кинецт-а за Цхроме и Сафари, чак и за веб локације које нису оптимизоване за употребу засновану на Кинецт-у у било ком облику. ДептхЈС је тренутно у раној фази развоја, али свакако вреди пратити.

04. 3Д игре под контролом помоћу гамепад-а

Да ли сте икада покушали да играте игру која није Фласх претраживач данас? Графичке могућности су невероватне, посебно када видите клонове игара попут Куаке-а.

Али када играте ове ствари, увек сте везани за тастатуру и (углавном) незграпан миш. Ово је главни недостатак, посебно за акционе игре, јер их заиста задржава у прегледачу.

Зар не би било у реду када бисте могли да прикључите Ксбок контролер у свој рачунар и почнете да играте своју омиљену игру прегледача? Ово више није будућа визија, поздравите Гамепад АПИ!

Ако око стола имате гамепад, прикључите га одмах и уживајте у неким играма које већ користе Гамепад АПИ. Програмирање контрола уноса такође је колач, погледајте овај фрагмент кода или још боље, покрените га сами:

див ид = "гамепадс"> / див>
скрипта>
фунцтион гамепадЦоннецтед (евент) {
вар гамепадс = доцумент.гетЕлементБиИд ("гамепадс"),
гамепадИд = евент.гамепад.ид;

гамепадс.иннерХТМЛ + = "Гамепад повезан (ид =" + гамепадИд + ")";
}

виндов.аддЕвентЛистенер ("МозГамепадЦоннецтед", гамепадЦоннецтед, фалсе);
/ сцрипт>

Ако желите да сазнате више о 3Д могућностима прегледача, погледајте Тхрее.јс и Јенс Арпс отворени извор 3Д симулатора Асцент који је изграђен на врху. Марк Хаммил, припазите, можда ћете нам затребати за још један наставак команданта крила!

05. Покретање Фласх-а на иПад-у

Као љубитељ отворених стандарда и љубитељ Аппле-а морам да признам да бих заиста желео да захвалим Апплеу што није ставио Фласх на иПад и иПод, ово је заиста покренуло покрет прихваћања отворених технологија попут ХТМЛ5, ЦСС3 и ЈаваСцрипт-а.

Као запосленик агенције морам да кажем да је ово заиста лоша ситуација за наше купце.
Већина њих мора да плати два пута за једноставан оглас или кампању коју покрећу да би се интерактивни садржај приказивао у старим ИЕ7 или ИЕ8 преко Фласх-а и у модерним прегледачима, као и иДевицес путем ХТМЛ5.

Полифилирање функција старих прегледача има своје границе, углавном именоване перформансе. Па зар не постоји могућност покретања Фласх-а на тим иДевицес-има без Фласх-а?

Наравно да постоји један, и наравно да је уграђен у ЈаваСцрипт.

Комад историје: Тобиас Сцхнеидер је 2010. године објавио малу библиотеку Гордон
што је омогућило СВФ датотекама да се директно покрећу у прегледачу. Ово је прилично добро функционисало за мале Фласх датотеке попут огласа који су користили само функције до Фласх верзије 2, али функционалност вишег нивоа уопште није била укључена.

Када се Тобиас придружио компанији уеберЈС УКСЕБУ, смислили су нову идеју.
И тако, рођен је Бикесхед. Сам Бикесхед је врста ЈаваСцрипт анимацијског оквира, али је и ЈаваСцрипт за Фласх за све што желите да буде компајлер (заснован је на адаптеру, тако да можете писати адаптере за све што желите, иако је стандардно понашање компајлирање Фласх-а у ЈаваСцрипт) . Компатибилан је са Фласх 10 и АцтионСцрипт 3. Погледајте његову веб страницу да бисте сазнали више о његовом мноштву функција осим компајлера.

06. Писање апликација за ваш паметни телефон

Писање изворних апликација за окружења мобилних телефона је тежак пут. Све почиње одлуком коју платформу желите да подржите. Ако ваша апликација ради на иПхоне-у и иПад-у, мобилном уређају са Андроид-ом, Виндовс Мобиле-у, Блацкберри уређајима, вебОС базираној платформи ... и тако даље.

Свака од ових платформи има своје АПИ-је и углавном користи различите програмске језике.
Ако сте преживели ратове прегледача, дозволите ми да вам кажем да је ово начин на који се теже борити. Програмер је скоро немогуће да направи апликацију за све ове платформе у времену и буџету.

Па ста да радим? Унајмити још програмера? Желите ли више да наплаћујете апликације? Или пронађите бољи приступ како бисте били сигурни да ваша база кода ради на свим уређајима? Као већина вас, више бих волео последњи приступ.

Али у шта би требало да буду уграђене ове апликације? Шта је заједничко свим овим платформама? Можда знате одговор, то је веб прегледач и самим тим ЈаваСцрипт механизам.

То је идеја која стоји иза Апацхе Цордова, познатијег под својим бившим именом ПхонеГап.
Цордова је ЈаваСцрипт оквир који апстрахује АПИ-је сваког мобилног окружења и излаже уредан ЈаваСцрипт АПИ за контролу свих њих. То вам омогућава одржавање јединствене базе кода коју затим градите и примените на различитим мобилним уређајима.

Погледајте ресурсе овде да бисте сазнали како да користите Цордову за прављење мобилних апликација које једном направите и које ће се покретати свуда.

07. Покретање Руби-а и Питхона у вашем прегледачу

Мозилла, компанија која стоји иза чувеног прегледача Фирефок, запошљава пуно штребера, то је сигурно. Један од њих је Алон Закаи, инжењер истраживачког тима Мозилла, који је направио чудан алат зван Емсцриптен.

Емсцриптен вам омогућава да преузмете ЛЛВМ битни код - који се може генерисати из библиотека заснованих на Ц / Ц ++, на ЈаваСцрипт. То чини компајлирањем библиотека у битни код, а затим узимањем тог битног кода и трансформацијом у ЈаваСцрипт. У реду, али шта заправо могу да урадим са овим, можете се запитати?

Имам контра питање за вас: да ли сте икада чули фразу „Коришћење ЦоффееСцрипта и прототипа је најближе покретању Руби-а у прегледачу“? Не? Не брините, јер ово више није истина.

Уз Емсцриптен можете једноставно узети Руби изворе, трансформисати их у ЈаваСцрипт и воила, покренути прави Руби у свом прегледачу! Али ово се не односи само на Руби, на пример, Питхон је такође написан.

Или погледајте декодер х.264 у прегледачу Броадваи. То је заправо скриптирана Ц ++ библиотека!

Идите на репл.ит да бисте видели неколико програмских језика (укључујући Руби и Питхон) који раде у вашем прегледачу!

08. Писање ОС независних програма за радну површину

Раније смо разговарали о циљању више мобилних платформи уз помоћ Апацхе Цордова. Није изненађујуће што се ЈаваСцрипт не може користити само за циљање мобилних платформи, већ се може позабавити и наш стари пријатељ, столни рачунар.

Прва решења стигла су од момака Аппцелератора са Титаниум Десктоп Суите и од Адобе, широко коришћене платформе Аир.

Али као љубитељи отвореног кода, какви смо сви, тражимо отворенију технологију засновану на Ноде.јс-у. Упознајте апп.јс! апп.јс је отворена вебтехнологија и Ноде.јс градитељ програма за радне површине, који нам омогућава да напишемо стварне програме за радну површину са приступом систему датотека, контролама прозора и још много тога. Можемо се ослонити на стабилне АПИ-је за више платформи Ноде-а и изградити наш софтверски кориснички интерфејс са ХТМЛ-ом и ЦСС-ом. Баш као и најзанимљивије нове ствари на овој листи овде.

апп.јс је прилично млад пројекат и према томе до сада подржава само Виндовс и Линук, али према маилинг листи, подршка за Мац је на путу.

09. Покретање веб сервера

У данашње време никога не шокирате када им кажете да вашу веб локацију опслужује веб сервер заснован на ЈаваСцрипт-у. Ако се сетите уназад две или три године и кажете веб програмерима потпуно исто, вероватно би вам се смејали или још горе.

Али са невероватним успехом Ноде.јс-а, ово је на срећу далеко од сада. Не само што људе више не изненађује, због своје асинхроне природе Ноде.јс је вундеркинд у перформансама, посебно када се суочи са проблемом многих паралелних веза. Не само да његове перформансе пуцају, заиста једноставан АПИ привлачи и пуно програмера. Погледајмо пример „Хелло Ворлд“ из света Ноде, то није само отисак „Хелло Ворлд“ на примеру екрана, то је хттп веб сервер!

вар хттп = рекуире (’хттп’);
хттп.цреатеСервер (функција (рек, рес) {
рес.вритеХеад (200, {’Цонтент-Типе’: ’тект / плаин’});
рес.енд (’Хелло Ворлд н’);
}). Листен (1337, '127.0.0.1');

Ако вас ова једноставност не одушеви, па, ни ја вам не могу помоћи.

Један од најбољих делова популарности Ноде-а (или хипе-а) је да га велике компаније попут Мицрософта заправо подржавају, тј. У својим Азуре Цлоуд Сервицес!

10. Израда веб страница и снимање екрана

Дакле, последње, али не најмање важно, погледајмо пројекат који ми је лично драг јер ми је дозволио да без команде водим своје КУнит тестове. ПхантомЈС је безглави претраживач заснован на ВебКит-у са уредним АПИ-јем заснованим на ЈаваСцрипт-у (или ЦоффеСцрипт-у).

Али тестирање ЈаваСцрипт-а и ДОМ-а није једини случај коришћења Пхантома. Оно што ме заиста фасцинира су његове могућности стругања веб страница и омогућавања прављења њихових снимака екрана!
Да, добро сте прочитали, са Пхантомом можете да приказујете веб странице у различитим графичким форматима и, наравно, то је лако као и крађа слаткиша од бебе.

Погледајмо скрипту која тачно то чини:

вар страница = нова ВебПаге ();
паге.опен (’хттп://гоогле.цом’, функција (статус) {
паге.рендер (’гоогле.пнг’);
пхантом.екит ();
});

То је све што вам је потребно да бисте направили снимак екрана, а пошто је заснован на ЈаваСцрипту, могли бисте да користите и јКуери и да манипулишете садржајем странице пре него што га направите.

Чекати! Има више...

Дакле, надам се да сте запрепашћени као и ја када сам открио сваки од ових алата. Овај чланак је само огребао површину онога што је данас могуће са ЈаваСцрипт-ом. Постоји још много тога попут ИДЕ-а у потпуности написаних у ЈС Цлоуд9 или високозаштитних ствари урађених с њим (Ваша кредитна картица је направљена помоћу ЈаваСцрипт-а).

Надам се да ћете се надахнути, одвојити мало времена и поиграти се са неким овде поменутим пројектима, или још боље узети неке од ових алата и око њих изградити нове ствари. Већина овога овде је отвореног кода, а програмери су тамо и траже вас да им помогнете да побољшају свој рад, чак и ако је то само употреба алата, откривање грешака и пријављивање.

Чланци За Вас
РЕШЕНО Заборављена лозинка за таблет - Нема више закључавања екрана
Откријте

РЕШЕНО Заборављена лозинка за таблет - Нема више закључавања екрана

Моја таблета је закључана; Заборавио сам лозинку за таблет, јер сам променио ПИН код и заборавио да забележим ПИН. Можете ли ми показати једноставан начин да га отворим? " Заборав на лозинку за т...
4 изводљива начина за нарезивање ИСО-а на УСБ
Откријте

4 изводљива начина за нарезивање ИСО-а на УСБ

„Морам поново да инсталирам свој ОС, али на мом преносном рачунару нема прикључка за ЦД / ДВД. Мој пријатељ је предложио да се користи УСБ погон за покретање система, како то да урадим?“ Већина модерн...
4 најбоља начина за претварање ЦСВ у вЦард
Откријте

4 најбоља начина за претварање ЦСВ у вЦард

ЦСВ датотека или датотека раздвојена зарезима је у основи раздвојена текстуална датотека која користи зарезе за одвајање појединачних вредности. вЦард, познат и као ВЦФ је формат датотека који је стан...