Ответ на пост «Сделал бесплатную браузерную игру с RPG-механиками, где английские слова учатся через бои, магазин и карточки»1
Этот уебан обиделся на подробный отчёт о его косом поделии и заблокировал меня) ну и катись нахуй, вайбкодер 😁
Этот уебан обиделся на подробный отчёт о его косом поделии и заблокировал меня) ну и катись нахуй, вайбкодер 😁
Когда-то я, как и многие, честно пытался учить английские слова “по-нормальному”.
Скачивал приложения, открывал списки, обещал себе “ну вот сегодня точно 50 слов”, потом проходило 7 минут, мозг уходил в отпуск, а я — вместе с ним.
Проблема была не в английском.
Проблема была в том, что обычная зубрёжка — это скучно до невозможности.
И вот в какой-то момент я подумал: а почему бы не сделать так, чтобы слова учились как в игре?
Не “посмотри на карточку и страдай”, а “зайди в бой, заработай монеты, купи карту, прокачайся и сам не заметишь, как уже знаешь слово”.
Так, с помощью могучего ИИ родился проект — Lexicon Words.
Это игра для изучения английских слов. Не учебник, не тест на терпение, а именно игра, где ты реально проходишь путь:
получаешь карточки, покупаешь новые слова, дерёшься, копишь прогресс и постепенно расширяешь словарь.
Сайт я делал с помощью ИИ с нуля. Писал код, собирал логику, ковырялся с Firebase, наступал на грабли и сам же их потом обходил.
И, честно говоря, в этом был отдельный кайф.
Снаружи это выглядит как RPG-мир: карточки, магазин, боссы, зал славы, статистика, боёвка.
А по сути всё завязано на английские слова.
У каждой карточки есть слово, перевод, пример.
Можно создавать свои карточки, редактировать, удалять, искать, смотреть статистику.
То есть это не просто “нажал — увидел перевод”, а уже нормальная система, где слова живут внутри игры, а не лежат мёртвым списком.
Потому что мозг обожает не “учить”, а добывать.
Когда ты просто смотришь на слово, оно выглядит как скучная обязанность.
А когда это слово связано с боем, монетами, магазином и победой над боссом — оно внезапно становится полезным.
И это уже совсем другая история.
В обычном приложении ты думаешь: “О, ещё одно слово”.
В моей игре ты думаешь: “Так, это слово мне сейчас поможет вынести босса. Надо запомнить”.
Вот в этом и вся магия.
Не надо себя уговаривать учиться.
Надо сделать так, чтобы само обучение стало частью игры.
Ты отвечаешь на вопросы по словам, а дальше всё работает как в нормальной RPG-логике:
правильный ответ — урон по врагу,
ошибка — прилетает уже тебе.
Есть таймер, есть критические моменты, есть напряжение, есть чувство, что ты реально дерёшься, а не просто кликаешь по карточкам.
И вот тут уже начинается самое интересное:
человек не просто повторяет слово, а использует его в ситуации, где от него что-то зависит.
А это запоминается намного лучше.
Одна из моих любимых частей — магазин.
Место, где можно покупать новые слова за монеты.
Смысл простой:
победил, заработал, сходил в магазин, купил карту, усилился.
Если слово не нужно — можно продать.
Если нужно — оставляешь себе и используешь дальше.
То есть слова в игре — это не абстрактный словарь, а почти как предметы в инвентаре.
И это, между прочим, очень хорошо работает на мотивацию.
Потому что покупка карты воспринимается уже не как скучное “надо выучить ещё 12 слов”, а как нормальный игровой прогресс.
Я не пытался сделать очередной “идеальный образовательный сервис”.
Мне хотелось сделать штуку, куда реально хочется зайти.
Потому что если сервис скучный, человек открывает его один раз и исчезает в закат.
А если там есть:
бои,
магазин,
карточки,
прогресс,
боссы,
ощущение прокачки,
то появляется желание вернуться.
А когда человек возвращается — слова учатся сами собой.
Это был тот случай, когда проект сначала кажется “ну сейчас за выходные соберу”, а потом становится полноценной игрой и растянулся на 3 мес, т.к заполнение и проверка слов съедает кучу времени.
И это, кстати, нормально, потому что полноценные редко появляются с первого раза без боли.
Итог:
— карточки английских слов с переводом и примерами;
— бои с боссами;
— магазин с покупкой новых слов;
— продажа карт;
— статистика и прогресс;
— таблицы рекордов;
— онлайн-механики;
— отдельные игровые экраны и нормальная атмосфера, а не сухой учебный сайт. — бои онлайн, так же собери слово или предложение, угадай пару, за вес дается награда в виде золота.
Я хотел сделать так, чтобы человек не сидел и не мучился, а заходил в игру как в маленький мир.
Побил босса, собрал слово, выиграл битву, собрал предложение, получил золото, купил карту, открыл новое слово, пошёл дальше.
Вроде бы мелочь.
А по ощущениям — совсем другой подход.
Потому что английский можно учить через силу, а можно через интерес.
Второй вариант мне нравится намного больше.
Потому что когда обучение превращается в игру, уже не надо каждый раз себя пинать.
Ты просто заходишь и играешь.
А слова, как ни странно, остаются в голове.
Если хочется посмотреть самому — lexiconwords.ru, регистрация занимает буквально 10 секунд.
JavaScript-фреймворков так много, что они уже превратились в нечто вроде новых сортов авокадо — каждый раз появляется что-то ещё более креативное, и, казалось бы, это нельзя улучшить, но вот очередная версия с обещанием "теперь ещё больше подходящей кремовости". Поговорим о фреймворках, которые либо внушают глубокое уважение, либо заставляют разработчиков хвататься за голову.
1. Svelte: фреймворк, который говорит "нет" самому JavaScript'у
Если React — это старший брат, который всё понимает и предлагает классные инструменты вроде хуков, то Svelte — младший, который хочет сделать всё "немного иначе". Svelte не просто фреймворк, он — компилятор. Представьте, что вы пишете код, а потом Svelte такой: "О, давай я уберу весь этот ваш тяжёлый runtime, и просто скомпилирую это в чистый, быстрый JavaScript". Это как если бы шеф-повар не просто готовил блюдо, но и удалял все ненужные калории, оставляя только вкус.
Svelte не использует виртуальный DOM, и это звучит как анархия для тех, кто уже привык к "старой школе". Но его философия настолько элегантна и минималистична, что заставляет многих разработчиков воскликнуть: "Так можно было?!" Svelte как будто хочет освободить всех от боли зависимости на runtime и просто дать вам работу с компонентами, которые сразу же "встроены" в реальность.
2. Vue.js: "разработка по рецепту бабушки"
Vue.js — это нечто среднее между Angular и React, как тот сосед, который приходит и говорит: "Зачем выбирать между двумя, когда можно сделать коктейль из лучшего?". Vue — это фреймворк, который берёт простоту React и мощь Angular, а затем делает что-то настолько дружественное, что кажется, что сам код вас обнимает.
Vue предлагает "реактивность из коробки" — это как если бы ваши компоненты внезапно обрели сознание и стали обновляться самостоятельно, как только что-то в них меняется. Главное, чтобы ваши состояния не стали вести себя как подросток в период бунта, иначе вся система может пойти не по плану.
Vue получил любовь сообщества благодаря своей простоте и гибкости, что делает его таким же домашним, как суп из маминого рецепта. Все очень просто, пока вы не погружаетесь в глубокие воды сложных директив, когда Vue пытается быть и кухонным комбайном, и кофемашиной одновременно.
3. Next.js: JavaScript на всех уровнях жизни
Next.js — это как универсальный инструмент, который старается сделать всё. Сначала мы думали, что он просто о серверном рендеринге для React, но нет, теперь он стал чем-то, что желает стать богом полного стека. Хотите создать сайт? Next.js. Нужно генерировать статические страницы? Next.js. Пожарить яичницу? Ну, наверное, когда-нибудь и до этого дойдёт.
Его функция getStaticProps настолько магическая, что напоминает, как будто кто-то догадался накануне скомпилировать вам кофе, чтобы оно само появилось в вашей чашке утром. Ну и, конечно, разработка на Next.js — это как путешествие по магистрали: всё гладко, пока не начнёшь пытаться сделать что-то действительно сложное, например, рендерить что-то динамическое в зависимости от изменчивых настроений сервера.
4. Angular: традиции, тяжесть и TypeScript на стероидах
Angular — это будто JavaScript-фреймворк, одержимый идеей стать корпоративной CRM-системой. С TypeScript по умолчанию и строгой структурой, Angular напоминает большой концертный оркестр, где каждый компонент знает, что и когда делать, но вся эта строгость требует дирижера, который готов помнить всё, что учил за последние годы.
Когда Angular выходит на сцену, вам кажется, что вместо "начать проект" нужно провести планёрку, расставить диаграммы и раздать роли. Он силён, строг, и иногда кажется, что он больше подойдёт для бухгалтерии, чем для маленького блога с рецептами бабушкиного варенья.
Тем не менее, именно Angular может внушать страх, когда вы видите его ng в команде — сразу понимаешь, что сейчас начнётся что-то масштабное. Но если вы привыкли к бюрократии и серьёзности, то Angular — это ваш выбор.
5. Ember.js: старый, но надёжный, как VHS-кассета
Ember.js — это один из тех фреймворков, которые отказались сдаться, несмотря на то, что мода и новинки JS приходят и уходят, как сезоны в "Сверхъестественном", а точнее уже спиноффы. Ember по-своему силён и стабилен. Его концепция — это "конвенция важнее настройки", и это как раз то, чего иногда не хватает в мире хаоса.
Ember — как тот самый VHS-плеер: вроде устарел, но всё ещё работает, а главное, если вы его знаете, то можете гарантировать, что фильмы 90-х годов вы сможете пересмотреть без всяких проблем. Его структуры, вроде "рутов" и "моделей", создают ощущение, что вы находитесь в приличном офисе с табличками на дверях. И это может быть хорошо, когда хочется ясности и порядка.
6. Nuxt.js: Vue и Next в одном флаконе
Если вы представляете себе Vue, который однажды встретился с Next.js, то вы понимаете, что такое Nuxt.js. Этот фреймворк, как лакомый пирог из слоёного теста, совмещает лучшие аспекты Vue с серверным рендерингом и статической генерацией. Это как взять отпуск, где всё включено: не надо беспокоиться о том, как скомпоновать серверную логику и фронтенд, Nuxt уже сделал это за вас.
Nuxt.js так и хочется сравнить с туристическим автобусом — вы можете забронировать место и расслабиться, пока вам показывают все самые классные фичи. Вот только иногда бывает так, что автобус неожиданно меняет маршрут, и вам приходится разбираться, почему же билд сломался на продакшене.
7. Meteor.js: мечты о полном стеке, которые почти сбылись
Meteor.js — это фреймворк, который хотел упростить веб-разработку настолько, чтобы вы, словно по щелчку пальцев, могли получить полный стек. Он обещал вам быть всем сразу: сервером, клиентом, базой данных, а также баристой, который делает ваш кофе по утрам.
Meteor делает разработку как поездку на монорельсе: пока едете по рельсам, всё хорошо, и можно даже получить реальный тайм-апдейт базы данных на клиенте без лишних усилий. Но если вы вдруг захотите сделать что-то особенное, придётся напрячься — Meteor, как и любой монолит, не очень любит, когда его просят свернуть не туда.
Мир JavaScript-фреймворков — это как огромный шведский стол: тут вам и Vue с его простотой, и Angular, который больше похож на трапезу с церемониями, и Svelte, словно лёгкий салат без лишних калорий. Кажется, что каждый год появляется новый рецепт, обещающий избавить нас от всех страданий и сделать разработку лёгкой и понятной.
Главное помнить: любой фреймворк — это всего лишь инструмент, и всё зависит от того, какой проект вы делаете и как хотите это сделать. А если что-то не получается — всегда можно вернуться к ванильному JavaScript, укутаться в console.log() и ждать, пока очередная волна трендов успокоится.
Так что выбирайте фреймворк, готовьте код, и помните: если сегодня все вокруг говорят, что "это круто", вероятно, завтра они уже будут пробовать что-то новое, ещё более блестящее и неуловимое, как все мечты о "идеальном JavaScript-фреймворке".
Приветствую всех фронтендеров, бекендеров и тех, кто потерялся где-то между async и await!
Сегодня поговорим о технология в JavaScript, которые заставляют нас сидеть на краю кресла и писать код, от которого либо "Вау!", либо "Ну всё, увольняюсь". JavaScript не стоит на месте, как и баги, которые он порождает. Давайте разберёмся, что сейчас в топе в этом великом и могучем языке. Поехали!
Server Components — это тот случай, когда React подумал: "А почему бы мне не попробовать роль сервера?" Представьте, что на вечеринке кто-то переоделся в официанта и начал раздавать напитки самостоятельно. Теперь компоненты рендерятся на сервере, а не у клиента, как раньше. Идея в том, чтобы снизить нагрузку на клиент и улучшить производительность. Потому что почему бы не добавить ещё больше серверной магии в клиентский код?
React Server Components — это как странный подарок на день рождения, который сначала вызывает вопросы, но потом ты понимаешь, что это именно то, что нужно, чтобы выжить в этом сумасшедшем мире фронтенда. Сервер рендерит, клиент расслабляется — идеальная экосистема.
TypeScript уже не просто надстройка над js — это обязательный атрибут любого уважающего себя разработчика, как большой запас кофе и немного отчаяния. ☕
Сначала был JavaScript, потом JavaScript с комментариями, а теперь TypeScript, который говорит: "Эй, я просто хочу, чтобы все знали, что это число, а не undefined".
Если раньше мы надеялись, что переменные окажутся тем, чем должны быть, то теперь TypeScript превращает этот процесс в уверенное "Ага, теперь это точно компилируется". Это как ходить по канату, но с ремнём безопасности, который кричит на тебя, если сделал шаг в сторону.
Когда-то мы не представляли жизнь без require(). Это был наш лучший друг, пока не появились ES-модули с их import и export, забирая всё внимание на себя. Теперь import — это не просто команда, а статусный символ: "Я пишу современный JavaScript, посмотрите на меня, мама!"
Модули позволяют разделить код на удобоваримые части, и теперь мы импортируем не только библиотеки, но и своё чувство собственного достоинства, когда структура проекта начинает выглядеть аккуратнее, чем гора носков на полу.
Astro — это тот дружелюбный сосед, который заглядывает с печеньками и предлагает оптимизировать ваш сайт.
Его фишка в том, что он строит сверхбыстрые сайты, рендеря только то, что действительно нужно. Все эти огромные фронтенд-фреймворки загружаются только тогда, когда они действительно нужны, а когда нет — "ничего не трогаем, работаем тихо".
Это как построить многоэтажный дом, но поднимать лифтом только одного человека, чтобы не перегружать систему. Astro — отличный выбор, если вы не хотите, чтобы пользователи засыпали в ожидании загрузки вашего сайта.
Vite — билд быстрее, чем вы успеете сказать "Webpack"
Если вы использовали Webpack и помните, как ваш компьютер издавал звуки, будто собирается улететь на Марс, то Vite здесь, чтобы спасти вашу оперативную память и нервную систему.
Это новый инструмент разработки, который позволяет начать работу практически мгновенно, потому что никто не хочет смотреть на загрузочный экран дольше, чем на Netflix.
Vite — это как пересесть со старенького трактора на Ferrari. Быстро, элегантно и больше никаких жалоб на то, что "пока проект собирается, можно успеть выпить кофе".
Сколько лет мы жили с ||, который в любой непонятной ситуации возвращает первое попавшееся значение. Но встречайте ?? — оператор, который проверяет значение на null или undefined и говорит: "Я верну замену только если значение действительно отсутствует". 🤝
Этот оператор — как хороший друг, который не бросает вас с вопросом "а вдруг", а решает проблему чётко и прямо. Если null или undefined — тогда замена; если что-то есть — оставляем. Надёжность, как у старого доброго друга, но в коде.
С развитием Edge Computing теперь JavaScript можно выполнять прямо на "краю" — там, где пользователи и дата-центры настолько близки, что можно передавать сообщения шёпотом.
Смысл в том, чтобы не ждать ответа от сервера на другом конце света, а обработать всё как можно ближе к пользователю. Это как доставка еды дронами — минимальная задержка и максимальная скорость.
Технологии в JavaScript — это как бесконечная сага с новыми сериями "Звёздных войн": каждый год появляется что-то новенькое, и кажется, что теперь-то всё понятно, но в следующем году всё снова меняется.
Будь то React Server Components или очередной оператор, JavaScript напоминает нам, что обучение — процесс бесконечный.
Так что если вы чувствуете, что ваш код устарел, не переживайте. Помните, что главное — это любовь к коду, куча закладок на GitHub и умение посмеяться над тем, как JavaScript неожиданно делает то, что ему самому не свойственно.
Берегите себя и не забывайте: undefined — не значит, что жизнь кончена, это просто повод найти значение!
Понравилась статья? Подписывайтесь на мой Telegram-канал, где ещё больше весёлых и полезных материалов.
Для собственной мотивации и для общественной пользы - буду выкладывать задачи для закрепления изученного материала по TypeScript (формат публикаций еще обдумаю). Книга по которой буду изучать - «TypeScript быстро» (Файн Яков, Моисеев Антон).
Если вы еще не изучили JS - ссылка в помощь
Подробнее в ТГ
Надеюсь не заброшу цикл публикаций...
Мои сети - https://t.me/apicraft http://apicraft.ru/
Друзья, в этом посте хочу рассказать, как можно освоить навыки программирования без затрат на дорогостоящие курсы. Главное - только Вы сами можете научиться. Даже за деньги Вас не смогут научить, только дать информацию. Надеюсь мое видео "66 JavaScript задач для начинающих" будет полезным в совершении первых шагов в программировании.
Это видео - отличный пример того, что платить за обучение не обязательно. Современные ресурсы и доступная информация позволяют самостоятельно изучать и развивать навыки в IT. Если у вас есть желание и немного упорства, вы можете "войти в IT" бесплатно!
Всем удачи в обучении и не забывайте - главное начать!
P.S. Любите своё дело!
Несмотря на проблемы с электроэнергией и ленью, я выкладываю следующий видеоотчёт о своём движении в мире джаваскрипта.
Будьте добры, оцените видос
Ставьте дизлайки, засирайте в комментариях, вот это вот всё❤️
Добрый день!
Темя, о которой я хочу спросить мнений на пикабу, стара как мир. А именно "не поздно ли входить в IT?".
Да я понимаю, что это в большой части гадание на кофейной гуще, но хотелось бы услышать мнение людей, которые работают в данном направлении.
Я уже начинала изучать js и хотела стать фронтенд- разработчиком. Остановилась на разработке простого калькулятора. Мне это нравилось, но по определенной причине пришлось отложить в сторону. Сейчас намерена подойти к этому делу более серьезно.
Но есть сомнения в плане будет ли данная профессия актуальна в России, а также высокооплачиваемая.