انتشار ۱۰ برابر سریعتر با تنها یک فایل HTML
من استفاده از React را برای ابزارهای ساده متوقف کردم.
React بد نیست. من استفاده از آن را برای پروژههای کوچک به دلیل یک الگوی تکراری کنار گذاشتم.
میخواستم چیز کوچکی بسازم. یک محیط React را باز میکردم. یک bundler اضافه میکردم. ساختار پوشهها را برنامهریزی میکردم و وابستگیها (dependencies) را نصب میکردم.
بیشتر از آنکه وقت صرف ساخت خودِ ابزار کنم، صرف ساخت زیرساخت میکردم.
قانون جدیدی را امتحان کردم.
بدون فریمورک. بدون بکاند. بدون ابزارهای ساخت (build tools). بدون npm.
من از تنها یک فایل HTML استفاده میکنم. از vanilla JavaScript و inline CSS استفاده میکنم. هر زمان که نیاز به ذخیره دادهها داشته باشم، از localStorage استفاده میکنم.
نتایج، گردش کار (workflow) من را تغییر داد.
ایدهها دیگر در مرحله راهاندازی (setup) متوقف نمیشوند. یک فایل را باز میکنم و کدنویسی را شروع میکنم. تصمیمات معماری نمیگیرم. در چاله وابستگیها (dependency holes) سقوط نمیکنم.
فرآیند اکنون اینگونه است:
- ایده
- کد
- تمام
من فاکتورسازها را به همین روش ساختم. هر ابزار فقط یک فایل است. بلافاصله در مرورگر باز میشود. هیچ نصب و اصطکاکی (friction) در کار نیست.
این تغییر، یک تغییر ذهنی است.
دیگر نمیپرسیدم که استک (stack) درست چیست؛ بلکه شروع کردم به پرسیدن اینکه سادهترین راه حل چیست.
اکثر ابزارهای کوچک نیازی به فریمورک ندارند. آنها فقط نیاز دارند که وجود داشته باشند.
این رویکرد محدودیتهایی دارد. نباید از آن برای همکاریهای آنی (real-time collaboration) استفاده کرد. اکثر ابزارهای شخصی به آن نیازی ندارند.
قانون جدید من ساده است: با یک فایل شروع کنید. پیچیدگی را فقط زمانی اضافه کنید که ناچار هستید. پیچیدگی را فقط به این دلیل که اکوسیستم انتظار آن را دارد، اضافه نکنید.
امروز این را امتحان کنید. یک ایده کوچک انتخاب کنید. آن را در یک فایل HTML بسازید. بدون راهاندازی. بدون بهانه.
فقط منتشرش کنید.
انجمن یادگیری اختیاری: https://github.com/DarkenAmber/single-file-app