В 2016-му статично типізований JavaScript виявився дуже затребуваним. Тими або іншими засобами, що дозволяли усунути недоліки динамічної природи JS, скористалися багато компанії. Нас теж привернула перспектива задіяти величезний потенціал статичної типізації у своїх розробках.


Вибираючи інструменти, ми попередньо зупинилися на TypeScript і Flow. Хоча ці проекти і розрізняються, спрямовані вони на рішення однієї і тієї ж задачі. А саме, дозволяючи контролювати типи даних, вони забезпечують більш досконалий, у порівнянні з чистим JS, організацію коду, покращують можливості рефакторінгу, дозволяють програмістам працювати швидше і впевненіше.

Читати далі →

beta.gitlance.net/top/javascript
Джерело зображення: beta.gitlance.net/top/javascript


Оцінюючи розробника ПЗ в якості потенційного партнера, працівника або підрядника, багатьом доводилося в якийсь момент витратити час на копання в його репозиторіях на Github, намагаючись зрозуміти, що за проекти той пише і якої якості у нього код. Це заняття малоефективно, до того ж ще пов'язане з певними труднощами як оцінювання ступеня вкладу розробника в той чи інший репозиторій, якості його коду; можна гадати про те, чи це дійсно його код, і так далі.
Розробникам ж, зі свого боку, важко піднести свій талант в доступній і наочній формі. Багато хто в підсумку створюють власні веб-сайти з перерахуванням цікавих проектів, в яких брали участь або самі є їх авторами, що, звичайно, дає результат, але теж з перемінним успіхом.
Ми ж віримо, що є спосіб краще, і саме тому створили GitLance. По суті своїй, коміти в Git подібно бухгалтерській книзі надійно фіксують внесок кожного з учасників, а на Github знаходиться безліч публічних репозиторіїв Git разом з їх розробниками, а також порівняти кількість їх взаємних оцінок у вигляді зірочок на репозиторіях і форков, що йдуть від них. Так чому б не скористатися цим для генерації кодового графа?

Читати далі →

І ось уже березень 2017 року, Adobe Flash Player практично не використовується через припинення його підтримки на рівні веб-браузерів. Таким чином акцент веб розробки зміщується в бік використання JavaStript бібліотек, предоставлющих доступ до html5 canvas.

Для розробки html5 canvas використовується Adobe Animate CC 2017, який подорожувати наступні типи проектів:

Зі списку видно, що підтримка ActionScript2.0 повністю виключена з поточної версії середовища розробки, а також немає можливості перенести наявний AS2/3 код html5 Canvas.
Єдине, що можна зробити в Adobe Animate CC 2017 — це перетворити графічне вміст Flash проекту і всі вхідні в неї компоненти у HTML5 проект.
Для цього достатньо відкрити Flash проект і вибрати з меню Commands пункт Convert To Other Documents Format після чого відкриється діалогове вікно з пропозицією вибору типу проекту в який відбувається перетворення. За замовчуванням використовується HTML5 Canvas, його і будемо використовувати в наших нових проектах.

Читати далі →

image
Доброго дня! Сьогодні я вирішив розповісти про своєму невеликому проекті, а саме про HTML фреймворку в стилі Material Design. Завантажити його можна з GitHub: посилання. Найкраще він працює на браузерах Webkit. Тепер розглянемо його ближче.
Читати далі →

Здраствуйте! Хотів би поділитися з вами розробкою підтаблиці для нашого веб проекту. Мета полягала у відтворенні веб модуля, що імітує таблиць і підтаблиці (subdatasheet) створених на базі Ассеѕѕ. Наш клієнт звик працювати на Access'e, але часи змінюються, і тепер наше завдання полягає в гладкому переході на веб платформу, з мінімальною різницею.
Чому AngularJS?
Маючи не багато досвіду з різними javascript бібліотеками, прийшов до висновку що AngularJS спочатку примушує вашого проекту бути маленьким, чистим, ізольованим і легко розширюваною. Також, використовуючи directive зі своїм ізольованим скопам (scope), дає можливість багаторазового застосування, навіть всередині себе. Що й буде продемонстровано під катом.
Як наш підсумковий directive буде застосовуватися
Так як в нашому проекті буде багато таких підтаблиці, нам потрібно зробити зручним нашу утиліту у застосуванні. Повинно бути приблизно таким:
<div ng-controller="ctrl1">
<subgrid config="config1"> </subgrid>
</div>

Подивіться демо тут. Кому цікаво прошу під кат.

Читати далі →

Одного разу я писав про те, що відступи можна вважати показником складності коду (хоча і досить грубим). Самі по собі відступи нейтральні, так як вони – лише засіб форматування тексту, але вся справа в тому, що вони використовуються для виділення особливих блоків програм, наприклад – керуючих конструкцій. Читаючи код і натикаючись на відступ, програміст змушений брати до уваги те, на що вказує відступ, тримати в пам'яті контекст, в якому існує виділений блок. Це, природно, повторюється, якщо у виділеному відступами ділянці коду з'являється ще один особливий фрагмент.

Якщо не звертати увагу на зміст текстів, то ось як зазвичай виглядає складний код, ділянки якого схожі на лежачі на боці літери «V», і простий код, блок якого, якщо не враховувати різну довжину рядків, схожий на прямокутник.


Чим більше відступів – тим складніше зазвичай і код

Читати далі →

Хабр досить вороже налаштований до Емодзі (тут вони просто не відображаються), вважаючи їх чимось на зразок «падонкаффского» мови. Не для серйозних людей. Адже і те й інше з'явилося приблизно в один час. І якщо «олбанська» йезыг швидко пішов у небуття, то Емодзі еволюціонували від простих точок з комою і скобочек до повноправних символів Юнікоду. Автор даної статті пропонує подивитися, що у цих маленьких сущьностей «під капотом» (Тут і далі курсивом — примітки перекладача).

EmojiFamilyHeader
Оригінальна стаття написана для сайту Contentful Стефаном Джудисом Twitter, GitHub).

Емодзі – це основа текстового спілкування наших днів. Без цих маленьких символів, багато бесід в чатах сьогодні занчивались б незграбним мовчанням або нерозумінням. Я все ще пам'ятаю старі добрі часи, коли СМС-ки були крутий штукою.

Пропозицію поспілкуватися в чаті без смайликів швидше за все призведе до повідомлення «Ти що жартуєш?». Все швидко зрозуміли, що гумор і сарказм (до речі, нам би не завадило бути менше саркастичними) не просто передати, використовуючи лише письмові знаки. У якийсь момент виник перший Emoji, і вони швидко стали одним з фундаментальних компонентів будь-якої бесіди в текстовому форматі.

Хоч я і використовую Емодзі кожен день, я ніколи не задавався питанням, як же вони працюють. Очевидно, що вони якимось чином пов'язані з Юнікодом, але я й гадки не мав, що там коїться під капотом. І мені, чесно кажучи, було все одно.

Все змінилося, коли я натрапив на твіт Ваги Боса (Wes Bos), у якому він показав кілька JavaScript-операцій над рядком, що містить сім'ю Емодзі.



Читати далі →

CEF, ES6, Angular 2, WebPack 2 .Net Core декстопное додаток без серверної частини

Це продовження статей:

CEF, ES6, Angular 2, TypeScript використання класів .Net Core. Створення міжплатформового GUI .Net за допомогою CEF
CEF, Angular 2 використання подій класів .Net Core

Основна ідея цих статей — створення кроссплатформенних додатків на CEF з використанням Angular 2 і .Net Core. Щоб відв'язатися від сервера, використовуємо свіжий WebPack і налаштуємо на локальне використання файлів.

Читати далі →

Reflect API — забутий герой ES2015

Скрізь та давно говорять про ES2015, хоч на дворі вже 2017 рік, є ще люди не знайомі з цим стандартом. ES2015 приніс багато нового в світ JavaScript, щось подхватилось моментально, що продовжує залишатися в тіні.

Всі ми любимо використовувати модульний підхід ES6, стрілочні функції, let та const, promises, класи, від деструктуризації багато прийшли в захват. Рідше згадується про новий тип Symbol, генераторах, Map, Set, WeakMap, WeakSet, і багато чого ще.

Читати далі →