Щом четете тези редове, вероятно не сте равнозначни към темата за програмните езици. Единият вариант е да избирате език, с който да започнете. Вторият: вече сте напреднали в езика предтеча, но и… в известна степен дете на TypeScript: JavaScript, и ви е станало любопитно дали да не добавите в списъка си с умения и нашия днешен герой. И, не на последно място идва третият вариант: готвите се да си направите сайт.
Е, бързаме да ви кажем, че и в трите случая няма да сбъркате, ако се насочите към TypeScript.
Java скрит
И така, за добро или лошо, днес имаме JavaScript на пиедестала на уеб технологиите. Ще го срещнете като повод за шегички сред отраканите програмисти, ползващи по-стари и изпитани езици. Но, така или иначе, истината е, че до голяма степен благодарение именно на него имаме днешния интернет с огромните му възможности. Той се превърна в единственият език, който се „подкарва“ директно от браузъра, а това направи възможно създаването на огромните интерактивни днешни уеб приложения, които пък изградиха неусетно модерния онлайн свят.
А значението на този език става все по-голямо с всеки изминал ден, търсенето на специалисти, които да го познават, расте главоломно и дълготрайно. Нещо повече – благодарение на трите основни фреймуърка, които се доказаха в тази посока – React, Angular и Vue.js, работата с него е по-лесна от всякога.
И все пак, за едно нещо са прави в майтапите си ветераните в програмирането. JS наистина има един огромен кусур, който често и неусетно може да ви причинява огромни проблеми. Както гласи друго програмистко клише, да се простреляте в крака. Същевременно този кусур всъщност е и може би най-голямото му предимство, заради което езикът се доказа и доби днешното си значение.
Може ли да направим нещо, за да си спестим проблемите, за които става дума? Както най-вероятно се досещате, отговорът е още в заглавието на тази статия. Казва се TypeScript.
Странни типове
Една от най-важните характеристики на данните в програмирането е типизирането. В повечето популярни днес езици данните могат да бъдат запазвани само в един тип структура. Създавайки променливата „заплата“, можем да променяме нейните стойности, да слагаме различни чила, но не и да зададем друг тип данни – например букви.
Е, в JavaScript можем. Което е доста удобно, спестява много голям обем код, дава страхотна гъвкавост, но… и поражда доста грешки. Особено когато приложенията станат по-комплексни, обемът на кода расте и много от променливите започват да имат по-дълъг „живот“.
Тук идва мястото на TypeScript. Той всъщност не е отделен програмен език, а суперсет (така и не намерих по-добра българска дума) на JavaScript. Уж пишете на един леко различен език, а всъщност – в резултат той се компилира и се изпълнява като нормална версия на прочутия си татко.
С тази разлика, че преди да се случи тази компилация, имаме данни, които са от определен тип и той не може да бъде променян.
За милиони няма закони
Е, ако трябва да сме честни, може, но не бива.
Така или иначе, при инициализирането на всяка променлива TypeScript държи да му бъде казано какъв тип е тя и основната му задача е да следи и да предупреждава, когато нещо не е наред. Въпросната отворена вратичка се нарича any. Ако изрично кажете, че искате дадена променлива да може да получава всякакви стойности, това ще е така. Въпреки че не се смята за добра практика, тъй като до голяма степен обезсмисля използването на днешния ни герой.
Той всъщност е доста по-„млад“ от езика, с който е неизменно свързан. Преди TypeScript има немалко подобни опити, но той е първият състезател, който наистина добива огромна популярност.
Просто защото определено е удобен и изпълнява поставената задача.
Сред създателите му са някои от архитектите на също много популярния език C#, със сигурност биха ви помогнали познанията по обектно-ориентирано програмиране, ако знаете и него.
Скрипт на място
И той наистина става все по-популярен, защото дава голяма гъвкавост, но и много повече сигурност. Не е случайно, че от няколко години платформата Angular го наложи като задължителен стандарт, прекъсвайки по този начин връзката с първата си версия и предизвиквайки доста сериозни проблеми за немалко програмисти.
Но това и никак не е случайно. Определено може да се каже, че да използват Angular избират екипите, които работят с много по-комплексни проекти, където предимствата му са очевидни.
Разбира се, той може да се ползва и в другите два основни фреймуърка. Проектите с React и TypeScript вече съвсем не са малко. Редно е да направим и уточнението, че с помощта на допълнителни библиотеки много проекти правят типизиране на данните, разменяни между компонентите в React, без да е нужно да се мигрира към TypeScript.
И все пак, това са детайли. А ако се чудите дали да отделите малко време, за да научите този език, отговорът гласи: няма да сгрешите.
Основните правила са елементарни, а в дълбочина винаги можете да навлизате с течение на работата и отделните случаи, с които ще се сблъсквате всеки ден.
Мой тип
Базовите типове данни са интуитивни и ясни, можете лесно да създавате по-сложни типове с помощта на интерфейси. А в арсенала вече има и много сериозен брой помощни типове, с които да допълвате или променяте основните според нуждите си.
Учи се наистина лесно, защото просто трябва да добавяте типовете и да следите са грешки. Във всички останали посоки: това си е добрият стар, познат и удобен JavaScript. Файловете са с разширението .ts вместо познатото .js… и толкова. Нужни са няколко секунди повече за компилация, но те, повярвайте ни, определено се изплащат, особено когато става дума за по-сложен и многопластов проект.
Що се отнася до популярността на този език: проучване от миналата година показа, че около 60% от програмистите, които използват в ежедневието си JavaScript, вече са опитвали или са работили и с неговата смислена добавка. А още 22% планират да го направят съвсем скоро. Знаците са доста недвусмислени.
Друго проучване, отново от 2021-а, показва, че 15% от бъговете в ежедневното използване на JS веднага излизат на светло с миграцията към логичната му добавка. Процентът никак не е малък, а според нас дори е и по-голям, казваме го на базата на немалкия ни опит в тази посока.
JS с човешко лице
Още нещо, за което винаги е добре да помислите, преди да се насочите към даден език. TypeScript се създава като мащабен проект с отворен код, всеки може да допринесе за развитието му и да го разгледа.
Освен това, през последните години има наистина сериозно разпространение и голяма онлайн общност, от която при нужда винаги можете да получите съвет (или просто да намерите решението от някого, който вече се е сблъсквал с даден проблем).
А когато понапреднете и имате своята първа готова апликация, ние сме тук, за да ви помогнем тя да стигне до света. Много малко е нужно, за да опитате напълно безплатно с нашия изпитан във времето хостинг тук. Успех!