این کتاب درباره‌ی چیست؟

5.0 version
Maintained

این کتاب درباره‌ی چیست؟

سیمفونی یکی از موفق‌ترین پروژه‌های PHP است. این چارچوب در عین حال هم یک چارچوب full-stack قدرتمند و هم مجموعه‌ای از کامپوننت‌های محبوب با قابلیت استفاده‌ی مجدد است.

قاعدتاً این پروژه در نسخه‌ی ۵، به بلوغ رسیده است. می‌توانم احساس کنم که تمام کارهایی که در طول ۵ سال گذشته انجام داده‌ایم به خوبی در کنار یکدیگر قرار گرفته اند. کامپوننت‌های جدیدِ سطح پایین، یکپارچگی سطح بالا با سایر نرم‌افزارها و ابزارهای تعبیه شده به توسعه دهندگان کمک می‌کند تا بهره‌وری خود را بهبود ببخشند. تجربه‌‌ی کاربریِ توسعه‌دهندگان به میزان قابل توجهی بدون فداشدن انعطاف‌پذیری، بهبود یافته است. استفاده از سیمفونی برای یک پروژه، هرگز به این خوشایندی نبوده است.

اگر شما تازه با سیمفونی آشنا شده‌اید، آمدن سیمفونی ۵ زمان مناسبی برای یادگیری چگونگی توسعه‌ی یک اپلیکیشن به صورت گام به گام است. این کتاب به توسعه‌دهندگان نشان می دهد که چارچوب (Framework) سیمفونی چه قدرتی دارد و آن‌ها چطور می‌توانند بهره‌وری خود را با استفاده از سیمفونی بهبود دهند.

اگر شما در حال حاضر یک توسعه‌دهنده‌ی سیمفونی هستید، می‌بایست مجدداً آن را کشف کنید. چارچوب به طور چشمگیری در چند سال اخیر تکامل یافته و تجربه‌‌ی کاربریِ توسعه‌دهندگان نیز به طرز چشمگیری بهبود یافته است. احساس می‌کنم که تعداد زیادی از توسعه‌دهندگان سیمفونی هنوز در عادت‌های قدیمی گیر کرده‌اند و دوران سختی را برای پذیرفتن روش‌های جدید توسعه اپلیکیشن با سیمفونی می‌گذرانند. می‌توانم برخی از دلایل این مسئله را درک کنم. سرعت این تکامل سرسام‌آور است. زمانی که بر روی یک پروژه به صورت تمام وقت کار می‌شود، توسعه‌دهندگان فرصت لازم برای پیگیری تمام اتفاقات درون جامعه‌ی سیمفونی را ندارند. من شخصاً این مسئله را درک می‌کنم و تظاهر نمی‌کنم که خودم می‌توانم تمام این موارد را دنبال کنم. من هم از چنین شرایطی بسیار دورم.

و موضوع تنها انجام کارها به شیوه‌ای جدید نیست. کامپوننت‌های جدید نیز هستند: HTTP client، Mailer، Workflow، Messenger. این موارد معادلات بازی را تغییر می‌دهند. شما می‌بایست نحوه‌ی تفکر خود در رابطه با یک اپلیکیشن سیمفونی را تغییر دهید.

همچنین به علت تکامل زیاد وب، نیاز به کتابی جدید را احساس می‌کنم. موضوعاتی همچون APIs، SPAs، containerization، Continuous Deployment و نمونه‌های بسیار دیگری باید مورد بحث قرار گیرند.

زمان شما گرانبهاست. انتظار پاراگراف‌های بلند و یا توضیحات مفصل در رابطه با مفاهیم کلیدی را نداشته باشید. کتاب بیشتر در رابطه با یک سیر و سیاحت است. از کجا شروع کنیم؟ چه کدی بنویسیم؟ چه زمانی؟ چگونه؟ من تلاش می‌کنم تا در رابطه با مباحث مهم در شما علاقه ایجاد کنم و تصمیم‌گیری در مورد اینکه آیا می‌خواهید در این موضوع عمیق‌تر شوید و بیشتر بدانید یا نه را به خود شما بسپارم.

قصد ندارم که مستندات موجود را تکرار کنم. کیفیت این مستندات فوق‌العاده است. من در بخش «بیشتر بدانید» در انتهای هر گام/فصل، به دفعات به این مستندات ارجاع خواهم داد. این کتاب را به عنوان فهرستی از اشارات به منابع بیشتر در نظر بگیرید.

این کتاب، ایجاد یک اپلیکیشن را از آغاز تا پایان توضیح می‌دهد. البته ما همه چیز را برای ایجاد یک محصول نهایی توسعه نمی‌دهیم. میانبرهایی می‌زنیم و نتیجه پایانی، کامل نخواهد بود. حتی ممکن است از مسائلی همچون رسیدگی به برخی موارد خاص، اعتبارسنجی یا آزمون‌ها عبور کنیم. همچنین گاهی اوقات بهروش‌ها رعایت نمی‌گردد. اما تقریباً به تمام جنبه‌های یک پروژه‌ی مدرن سیمفونی اشاره خواهیم کرد.

زمانی که کار بر روی این کتاب را آغاز کردم، اولین کاری که انجام دادم کدنویسی اپلیکیشن نهایی بود. از نتیجه و سرعتی که می‌توانستم با اندکی تلاش هنگام افزودن ویژگی‌ها حفظ کنم، تحت‌تأثیر قرار گرفتم. این مهم به لطف مستندات و این حقیقت ممکن شده است که سیمفونی ۵ می‌داند چگونه تلاشش را برای کمک به شما انجام دهد. متوجه هستم که سیمفونی هنوز هم می‌تواند از جهات مختلفی بهبود یابد (و یادداشت هایی در رابطه با بهبود‌های ممکن دریافت کرده‌ام)، با این حال تجربه‌ی توسعه‌دهنده، بسیار بهتر از چند سال گذشته است. می‌خواهم در مورد آن به همه بگویم.

کتاب به چند گام و هر گام نیز به چند زیرگام تقسیم شده است که می‌توان آن‌ها را به سرعت خواند. اما مهمتر از آن، توصیه می‌کنم که همزمان با خواندن، کدنویسی را هم انجام دهید. کد بنویسید، آزمونش کنید، مستقرش کرده و تغییراتی بر روی آن اعمال نمایید.

و آخرین نکته، البته نه از نظر اهمیت، اینکه اگر جایی گیر کردید برای درخواست کمک تردید نکنید. شاید به یک مورد خاص و یا یک اشتباه تایپی در کدی که نوشته‌اید برخورده باشید که پیداکردن و رفع آن دشوار باشد. سوالات خود را بپرسید. ما یک جامعه‌ی فوق‌العاده در Slack و Stack Overflow داریم.

برای کدنویسی آماده‌اید؟ لذت ببرید!


This work, including the code samples, is licensed under a Creative Commons BY-NC-SA 4.0 license.