Laravel Idea
341 subscribers
51 photos
8 videos
1 file
12 links
Download Telegram
Утром отправил релиз 4.4 на проверку JetBrains. Он должен пройти её и стать публично доступным уже вот-вот.

Список изменений, кроме совсем уж мелочи, можно почитать тут - https://laravel-idea.com/blog/2021/4-4-release
Давно сюда не писал, ибо никаких великих фич пока не выпускаю. Довольно много времени уделяю сейчас борьбе с магией Eloquent. Две самые выбешивающие вещи:

1) нежелание шторма понимать $this-> методы и свойства если прямо в этом вот классе не объявлены они(в хелпер-файле для этого же класса - не работает) youtrack-issue.
2) то, что query builder-методы у Eloquent моделей могут быть как статические, так и динамические, и всё работает. Шторм такое тоже никак не желает понимать.

И то и другое кое-как получилось побороть с помощью совета Кирилла Смелова из команды шторма. Костыль конечно ужасный, некоторые инспекции приходится блокировать, подсказывать методы и свойства и делать GoTo на них с помощью нестандартного для шторма пути, поэтому они будут всегда внизу списка комплишена. Поэтому совет простой: вместо User::whereEmail()-> или User::with()-> лучше всегда делать User::query()-> и поехали. Так оно и правильнее и красивее.

Это всё уже работает в последней версии Laravel Idea(4.4.2), но пару багов всё-таки нашлось. Фиксим...
This media is not supported in your browser
VIEW IN TELEGRAM
Решил сделать мелкую удобняшку. Позволяет сэкономить где-то секунды 3, может 5. Я просто делаю готовый @foreach для переменных, которые мне кажутся коллекциями. Всё бы хорошо, но форматирование блейда в шторме до сих пор неидеальное. В гифке видно, что я вставляю как есть, а потом шторм прошу отформатировать то, что вставил. Иногда работает как надо, а иногда нет. Бьюсь уже который час, уже думаю не убрать ли фичу назад...
Как всегда самое мелкое изменение, скорее всего будет самым заметным. Решил сделать отдельный пункт в главном меню. Буду туда потихоньку набрасывать полезные действия.

Здесь, например, будет удобно одной комбинацией клавиш генерить Eloquent хелпер код.
Не могу не поделиться. Первое внимание от Тэйлора)
This media is not supported in your browser
VIEW IN TELEGRAM
Многие уже видели в твиттере, но и здесь запощу. С одной стороны это ерунда, спокойно решается указанием типа параметра, но я так привык, что статически типизированные Котлин и СиШарп до типа как-то сами догадываются, что решил тоже сделать также.
Начинаю осваивать новую для себя ОС. Уже вижу что для мака эти комбинации клавиш не очень удобны, может придумаем другое.

А тесты Laravel Idea, которые на моем виндовом ноуте прогонялись за 5 с лишним минут, тут заняли всего 2.5 минуты. Я рад.
Наконец потихоньку начинаем реализовывать глобальные планы. Мастер нового проекта - один из них.

Цель - построить мощный и хорошо кастомизируемый билдер, который очень красиво и точно настроит начальный проект. Останется только composer install, который шторм сам попробует сделать, и готово.

В будущем добавим туда админки, модульные каркасы, типа nWidart/laravel-modules, и кучу другого.
Сделал свой репортер для эксепшенов. Теперь можно не заводить багу и описывать там всё, а просто нажать кнопку в этом диалоге и эксепшен улетит в сентри со всей необходимой инфой - версии IDE, плагина, стектрейс и т.д. Удобно и мне и юзерам.
Forwarded from adelf on programming
В прошлом году делал что-то вроде итогов года. Сделаю и сейчас, правда они какие-то грустные получатся. Весь год моя работа - это Laravel Idea. Все рабочие мысли только о ней. Проект растёт, сейчас над ним кроме меня трудятся еще двое разработчиков. На строгие хорошие рельсы это всё еще не стало - много косяков ещё в коммуникациях, в основном с моей стороны.

Появились проблемы с доведением дел до конца. Вместо того, чтобы делать крутые революционные фичи, я часто погружаюсь в мелочные таски и увязаю в них, ибо их сотни. Летом думал в сентябре выпускать релиз 5.0 с кучей осязаемых фич… В итоге уже не уверен, что даже в январе смогу выпустить 🙁 Ни одной статьи, ни одной видюшки за год не записал. Уровень прокрастинации сильно подрос, постоянно что-то откладываю на будущее(в черновиках штук 10 статей).

Давно пора обновить документацию, сделать видео-туториал по плагину, но как программист-недобизнесмен, приоритет отдаю фичам, чем “всякой ерунде”. И нехватка этой “ерунды” начинает сказываться. Куча жалоб на то, что люди тупо не знают всех фич. Думаю, в том числе и поэтому рост продаж замедлился. В декабре 2021 продажи выросли в два раза по сравнению с декабрем 2020, но всего на 20% от марта 2021. Рост этот вполне можно назвать органическим, поскольку единственный промоушен - это твиттер, в котором пишу новые фичи, и спонсирование Laracon Online.

Поэтому в 2022 в первую очередь надо будет заняться тем, что программисту делать ну никак не хочется: документацией, видео-туториалами, сайт переделать, чтобы народ перестал думать, что если поставить laravel-ide-helper и старый плагин Laravel к шторму, то это будет почти как Laravel Idea. Еще надо будет и SEO, и может какие рекламы покрутить… такая скукота, но если уж начал строить бизнес, то надо строить.

Есть планы еще один платный плагин выпустить, на этот раз уже для всех языков и IDE от JetBrains, только надо подумать о модели монетизации. Она наверняка будет freemium, но надо придумать при каких условиях надо за него деньги брать и сколько брать. Весьма непростое решение и нет особо данных на что опереться при обдумывании. Опять придется тыкать пальцем в небо. И как-то выкраивать время!

В общем, с наступающим новым годом 🙂
В свете недавних печальных событий многое поменялось. Здесь опишу ситуацию с лицензиями. JetBrains закрывает продажи в РФ/Беларуси, но всем юзерам с действующими подписками продлил их до 1 октября и сделал возможным минорные апдейты на дату окончания лицензии. Т.е. та мажорная версия IDE, которая будет на 1 октября 2022 или на конец вашей лицензии будет с вами навсегда. Если я все правильно понял.

С Laravel Idea я попросил сделать тоже самое. Т.е. примерно до начала 2023 года вопрос “что делать с текущими пользователями плагина из РФ/Беларуси” откладывается.

С новыми пользователями интереснее. Я не хочу делать какие-то отдельные продажи. Мне проще и правильнее на фичах плагина сосредоточиться. Есть большая вероятность, что он на некоторое время станет бесплатным для РФ, Беларуси и Украины. Но все это требует уточнения. Позже напишу, что и как.
This media is not supported in your browser
VIEW IN TELEGRAM
На эту фичу ушло очень много времени. Пару недель как минимум. Зато первый настоящий рефакторинг для блейд-компонентов. С распознаванием параметров и их типов.
Вот такое письмо должны были получить (или скоро получат) все активные на какое-то там марта пользователи плагина из РФ/Беларуси. Надеюсь, у всех продлилось как надо.

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

Зарелизил новую версию кстати. Можно обновляться.
Появились таки первые туториал видюшки. Пока всего три, но они уже полезные. Скоро будет еще. Их для меня записал Кристоф Румпель, за что ему большое спасибо.

https://www.youtube.com/watch?v=TIwSOHYwG6s&list=PL4pc9iNIOrQAvzPPThXCdCRcSKbAHzQSx
это скетч новой фичи. Народ давно просит что-то подобное. И вполне можно сделать, но мне кажется что без супер-удобного и быстрого UI для создания полей эта фича не взлетит.

Она должна позволять все делать клавиатурой и крайне быстро. Иначе народ будет по прежнему миграции руками набивать. Хороший такой челлендж :)
This media is not supported in your browser
VIEW IN TELEGRAM
Всегда старался уделять время таким вот фичам. Не сказать, что сэкономят много времени, но некий вау-эффект(“Ого какой софт умный!”) - он важен.
This media is not supported in your browser
VIEW IN TELEGRAM
Хорошая удобняшка получилась. Я знаю, многие хотели.
This media is not supported in your browser
VIEW IN TELEGRAM
Помню часто лазил в раздел “available validation rules” документации. Сделал, чтобы из плагина можно было по Shift-F1 сразу открывать доку по нужному правилу. Уже доступно в 5.6 версии.
Потратил час, а то и два, на решение задачи: угадать нужно ли предлагать неймспейс, такой же как у модели, для кодогенерации на ее основе.

Вот здесь, например, мы хотим создать ресурсный контроллер на основе модели Account/Order. Стоит предложить неймспейс “Account/” для контроллера или нет? Надо как-то угадать как принято на проекте.

Решение строю на анализе целевой директории. Если там есть папка “Account”, то ответ очевиден. А если нет, то считаю количество файлов и папок и пытаюсь угадать анализируя эти два числа. Посмотрим как пойдет.
Ладно. “Анализ” это слишком громко сказано :)