Недостатки alpine.js
1. Несмотря на встроенную гибкость alpine уступает таким монстрам как React, Vue, Angular и Svelte. Уступает много чем, нет CLI и как следствие скаффолдинга для компонентов, нет встроенной возможности обмениваться данными из компонента в компонент, для этого приходится дополнительно использовать spruce.js - стейт менеджер. В общем если я соберусь перечислять чего в нем НЕТ - это затянется надолго:)
2. Я применяю его для легаси проектов, а значит компонент должен уметь общаться с данными вне своего скоупа, с уже написанным функционалом который давно и хорошо работает и переписывать его никто не планирует. И это можно делать, довольно легко, но это неофицальный способ (читать "костыль"
https://codewithhugo.com/alpinejs-inspect-component-data-from-js/). Официального api для получения данных вне скоупа компонента не существует а если передавать их через spruce, надо держать в голове что это теперь не реактивные данные.
3. JS нелегко дебажить. Alpine js не исключение. Девтулза отчасти помогает следить за тем что происходит с нашими шибко шустрыми данными, но в случае возникновения ошибки с моего лица далеко не сразу сходила физиомордия недоумения.
4. Парадигму реактивности тяжело воспринимать поначалу. Нас может запутать синтаксис представления и то, в какой именно момент времени случился баг. Тяжело с первого раза врубится почему консоль отдает тебе proxy вместо объекта который ты туда вроде бы посылал и наоборот.
5. Комьюнити в основном англоязычное и может отвечать со значительной задержкой.
6. Наличие навыка владения такой либой может вызвать недоумение на лице рекрутера.