Создал свое приложение для изучения английских слов

от автора

Всем привет! Я full-stack веб-разработчик уже много лет. И вот год назад мне пришла идея поднять свой уровень английского, так как мой уровень был A2, меня он не устраивал совсем. У меня уже были неплохие знания грамматики, но лексика и практика очень хромали. И вот начался этот путь.

Как вообще пришла идея создать приложение

Сначала я, как и все наверное, начал искать материалы для обучения. Так как моей основной задачей было изучение слов, начал я с приложения anki, скачал популярную колоду 4000 words и начал учить. И первое, что сразу бросилось в глаза — это его ужасный интерфейс. Это ладно, терпимо, но в процессе обучения я стал понимать, что просто не запоминаю ничего, количество карточек росло и в день стал тратить минут 40-60 только, чтобы все повторить, а ведь еще надо изучить новые. В общем, пройдя первую тысячу слов я понял насколько это бесполезное и утомительное занятие. Да и 4к слов это очень мало

Я думал это у меня такая память ужасная, но на деле оказалось, что все дело в том, что там банально нет интерактивных упражнений для запоминания и все обучение сводится к тому, что все слова проходят мимо

Я решил ну окей будем искать такое где эти упражнения есть и на удивление я не нашел ничего стоящего! Я скачал порядка 20 приложений и во всех случаях имелось множество недостатков.

  1. Слово вообще непонятно, нужно искать что оно вообще значит, особенно это касается слов начиная уровня B1

  2. Нет готовых слов по уровням — очень негативный момент. Цель приложения — в уже готовых карточках. Зачем оно нужно, если нужно все вручную прописывать или выбирать непонятные списки, из 10 слов 5 которые уже знаешь

  3. А если есть, слов слишком мало. Для высокого уровня (а я решил достигнуть именно его) требуется прилично слов. Эти 3к слов, которые часто предлагают, я уже давно выучил

  4. Повторения. В anki хорошая система повторений и мало где используется именно эта или похожая система.

  5. Очень непонятный интуитивный интерфейс. Еще один жирный недостаток. Страницы просто завалены кучей элементов, все в хаотичном порядке. Мне кажется или сейчас это в целом тренд у всех приложений

  6. Упражнения. Для меня самый главный недостаток всех приложений. В большинстве приложений их просто нет. А там где есть, они выстроены таким образом, что от них вреда больше. Я только добавил слово в словарь, а мне уже предлагают ввести перевод с русского на английский. Это очень неправильный подход

  7. Выражения. Про то, что они вообще мало где есть, можно никак не комментировать

Таким образом промучавшись какое-то время, решил почему бы не создать такое, которое подойдет лично мне. Нанимать разработчиков , то есть себя, благо, не нужно

Техническая сторона

Я являюсь vue+laravel разработчиком и очень далек от мобильной разработки , а мне нужно было именно мобильное. Я уже слышал про cordova, но понятия не имел как оно будет выглядеть в реале. Изучать отдельно мобильную разработку для этих целей мне не хотелось, поэтому очень быстро узнал про ionic + capacitor. Впоследствии правда, компоненты ionic мне не понадобились, так как я решил создать свой дизайн.

В итоге, после разработки, я выяснил для себя, что учитывая современные мощности смартфонов (даже дешевых), если не планируется использовать какие-то продвинутые встроенные возможности API android или ios или анимации сложнее свайпа, то webview предлагает отличную возможность создать свое приложение, только зная веб-разработку. И отличить его от нативных приложений без глубокого анализа порой сложно

Не сказать, что я не столкнулся со сложностями, но они были связаны с незнанием в целом как устроена сборка мобильных приложений. Однако, это не было большой проблемой, все непонятные моменты я уточнял у chatgpt, хотя в этой области он разбирается намного хуже, чем в вебе, возможно из-за версий или это мое ощущение, т.к. для веба я знаю что искать. Поэтому одним им не ограничился и пришлось по старинке гуглить. Тут сразу возникает вопрос, который задают многие, а заменит ли ИИ программистов? Я считаю, не разбираясь досконально в технологии ИИ вам не помощник. В лучшем случае даст рекомендации, но часто генерирует то, что вообще все ломает

Само приложение

Где брать лексику?

Сначала я решил брать лексику из частотных словарей, но как выяснилось, там слишком много лишнего, там включено вообще все, множественные числа слов и прочие ненужные слова. Это добавлять в словарь для обучения не стоит. Однако сам список частотный очень важен.

Решил не изобретать велосипед и все слова были получены из обучающих книг по английскому: 4000 essential, new headway, vocabulary in use, illustrated expressions и прочие, полный список уже не помню. Все слова разумеется были отсортированы по частоте и разделены на уровни. В итоге получилось собрать около 11 000 нужных слов и выражений. Что мне и требовалось.

Карточки

Собственно, важной частью было создание так называемых карточек, откуда можно добавлять слова в обучение или пропускать, если слово знакомо. Однако, одних слов недостаточно, нужны были описания слов, примеры, а также впоследствии картинки. Здесь уже использовал всю мощь ИИ, уж с чем, так с языком ему равных нет и учитывая современные возможности, воспроизведение аудио и картинки также были сгенерированы нейросетью.

Обучение

Для чего собственно все затевалось. Данный раздел мной был проработан детально для максимально эффективного обучения. Что я понял в процессе тренировок:

  1. Упражнений нужно много. Некоторые слова очень тяжело запоминаются, необходимо повторять упражнение до тех пор пока слово не перейдет в режим «помню»

  2. Сначала нужно выполнять простые упражнения, а затем переходить к сложным. Без какой-либо перемешки.

  3. Перед началом упражнений нужно их повторять как в anki до тех пор пока не появится ощущение, что «слово знакомо». Это разумеется не тренировка, а подготовка к ней

  4. После всех упражнений нужна проверка какие слова запомнились, а какие нет. В большинстве случаев, слова запоминаются, но бывают очень сложные, которые нужно изучить еще раз, прежде чем отправить на повторение.

  5. В некоторых же случаях слова настолько простые, что не требуется проходить их все, нужно выбирать какие упражнения для этой тренировки подойдут

  6. Даже если мы добавили 50 слов в тренировку, изучать их все за раз — плохая идея. Нужно выбирать какое количество слов изучить сейчас. Это очень полезная возможность, которая позволит тренироваться несколько раз в день

Как это выглядит:

После проверки, либо запомнили слово, либо отправляем его обратно в обучение и будем учить уже с другими словами

Насколько эффективно?

Такой способ обучения я считаю помогает на 100% запомнить слово, а упражнение «составь фразу» помогает учить именно в контексте, тем самым слово становится легче вспомнить, когда оно встретится на практике. Или же, если повторять, перейдет в активный словарный запас

Повторения

Без повторений, как вы понимаете слово очень быстро забудется, даже если использовать упражнения. Однако передо мной встал вопрос как именно делать повторения. Недолго думая, я решил, что упражнения нужны даже в повторениях, однако не все и не всегда. Для каждого повторения нужно определить свои упражнения. То есть если мы только изучили слово, значит на следующее повторение нужны одни упражнения, а если мы его повторили 5 раз, то дальше достаточно просто показать карточку

А если все-таки забыли слово? В anki реализована возможность возвращать слово. Я решил пойти таким же путем. Либо мы возвращаем слово и заново его учим, либо отправляем повторяться на следующий день, либо же мы помним слово и отправляем на следующее повторение согласно интервальному подходу. Важный момент, не очень доверять самоощущению, система должна автоматически проверять выучили ли слово или немного подзабыли и возвращать его на несколько повторений назад

Выводы

Приложение бесплатное, карточки, тренировки, повторения тоже. Кому интересно, можете набрать в rustore «Английский c Words: слова и выражения A1–C2». Буду признателен за обратную связь.


ссылка на оригинал статьи https://habr.com/ru/articles/932636/