برنامه نویسی

از PHP تا GO: چگونه می توان از منطقه آسایش لاراول فرار کرد و شادی “واقعاً شیرین” اسفنج را تجربه کرد

شادی ها و نگرانی های یک توسعه دهنده با تجربه PHP

صادقانه ، توسعه دهندگان با تجربه PHP ، آیا نوشتن PHP فوق العاده رضایت بخش نیست؟ متغیرها می توانند انواع مختلفی را تغییر دهند ، اما فراموش کردن یک قسمت اصلی هیچ بزرگ نیست و با چارچوب Laravel ، چند مورد php artisan make:controller دستورات و کلاهبرداری انجام می شود ، سریعتر از رشته فرنگی فوری!

اما هنگامی که کاربر وب سایت شما مانند موشک به سمت بالا موشک می شود ، یا رئیس ناگهان در مورد میکروسرویس و همزمانی زیاد صحبت می کند ، توسعه دهندگان PHP شروع به زدن و پف کردن می کنند. این زمانی است که توسعه دهنده GO در میز بعدی ممکن است به شما چشمک بزند: “سلام ، دوست ، می خواهم به من امتحان کنید؟ در یک پرونده واحد جمع می شود ، استقرار به آسانی به عنوان نوشیدن چای شیر است و عملکرد آن ستاره ای است!”

پنج “سؤال اصلی جستجوی روح” برای توسعه دهندگان PHP در حال تغییر است

1. تایپ پویا در مقابل تایپ استاتیک: از “کارت وحشی” تا “کمد تیز”

شادی PHP:

$name = "PHP Developer";  // Today I'm a string
$name = 42;        // Tomorrow I want to be a number
$name = [];        // The day after, I'll be an array
// PHP: No problem, buddy, whatever makes you happy!
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

“OCD” برو:

var name string = "Go Developer"
name = 42 // Compilation will hit you hard: cannot assign int to string!
// Go: Buddy, we need to be clear, what exactly do you want to be?
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

2. اختلافات OOP: از “جادوی وراثت” تا “ترکیب پادشاه است”

منطقه راحتی PHP:

class User extends Model {
    use SoftDeletes; // Traits are so useful!
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Go's New World:

type User struct {
    gorm.Model
}

// Go: Inheritance? Doesn't exist! We focus on composition.
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

3. سندرم وابستگی چارچوب: از “ماشین لوکس کاملاً اتوماتیک” تا “تراکتور دستی”

تجربه لوکس PHP:

php artisan make:model Product -mc
// One command generates model, controller, migration file
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Go's DIY LIFE:

Manually choose Gin or Echo...
Manually choose GORM or Xorm, Sqlx, Ent...
Manually set up project structure...
// Feels like going back to the Stone Age
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

4. مدل های همزمانی: از “بازیکن خارجی” تا “قهرمان بومی”

همزمانی PHP:

// Either rely on PHP-FPM multi-process
// Or bring in Swoole/Workerman as external help
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

ویژگی قاتل Go:

go func() {
    // Easily start a goroutine
}()
// Go: Concurrency? Piece of cake!
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

5. مدیریت وابستگی: از “فروشگاه یک مرحله ای آهنگساز” تا “به سبک جدید ماژول بروید”

راحتی PHP:

composer require laravel/sanctum
// Everything done with one command
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Go's Evolution:

go mod init
go get -u github.com/gin-gonic/gin
// While not as convenient as Composer, it's much better than the GOPATH era
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Framework Sponge – افزونه Go Language برای Phpers

راحتی لاراول را از دست می دهید؟ در واقع ، اسفنج هم بد نیست!

اسفنج چیست؟

اسفنج یک چارچوب توسعه قدرتمند و آسان برای استفاده است. مفهوم اصلی آن تولید کد مدولار با تجزیه است SQLبا Protobufوت JSON پرونده ها این ماژول ها می توانند با انعطاف پذیری ترکیب شوند تا انواع مختلفی از خدمات با پس زمینه کامل را تشکیل دهند.

Sponge یک راه حل توسعه پروژه یک مرحله ای با قابلیت های عالی مهندسی پروژه ، پوشش تولید کد ، توسعه ، آزمایش ، اسناد API و استقرار را ارائه می دهد. این کمک می کند تا به توسعه دهندگان به راحتی سیستم های خدمات باکتری با کارایی بالا (از جمله API RESTFUL ، GRPC ، HTTP+GRPC ، GRPC Gateway و غیره) را به راحتی و قابل اعتماد بسازند.

جادو اسفنج: موتور قدرتمند تولید کد

شرح تصویر

راحتی مانند PHP توسط اسفنج:

  • تولید کد: به همان اندازه که به عنوان صنعتگر رضایت بخش است
  • ادغام همه در یک: جین ، گورم ، ردیس و غیره ، همه بسته بندی شده
  • استانداردهای یکپارچه: دیگر بحث در مورد سبک کد نیست

با اسفنج به عنوان “افزونه” خود ، شما تضمین می کنید که انتقال از PHP را تکمیل کنید تا با لبخند بروید!

چرا توسعه دهندگان PHP باید اسفنج را امتحان کنند؟

  • راندمان توسعه از بین می رود: قابلیت های تولید کد Sponge و مؤلفه های یکپارچه غنی به شما امکان می دهد سرعت توسعه رعد و برق را در چارچوب های PHP در یک پروژه GO تجربه کنید. دیگر از ابتدا مانند “خوردن گوشت خام و خون” شروع نمی شود.

  • “دستور العمل” آشنا ، “طعم” آشنا: بسیاری از ویژگی ها و فلسفه “کنوانسیون بیش از پیکربندی” ارائه شده توسط Sponge به شما این احساس آشنایی را که هنگام استفاده از چارچوب های PHP مانند Laravel و Symfony داشتید ، به شما می دهد و منحنی یادگیری را به طور قابل توجهی صاف می کنید.

  • شادی “داشتن کیک و خوردن آن نیز”: شما می توانید از عملکرد نهایی ، قابلیت های همزمانی قدرتمند و راحتی استقرار که توسط زبان GO آورده شده است ، لذت ببرید ، ضمن کسب بهره وری توسعه و استاندارد سازی پروژه که با یک چارچوب بالغ همراه است. آیا این چیزی نیست که ما می خواهیم؟

  • کد کم ، راندمان بالا ، سعادت خالص: شما فقط باید روی منطق اصلی تجارت تمرکز کنید. مقدار زیادی از کد عمومی ، تکراری و اساسی به طور خودکار توسط اسفنج تولید می شود ، واقعاً به شما امکان می دهد سرگرمی “توسعه کم کد” را تجربه کنید.

  • به راحتی تسلط بر معماری میکروسرویس مدرن: اسفنج ذاتاً از مؤلفه ها و مفاهیم مورد نیاز برای توسعه میکروسرویس پشتیبانی می کند و به توسعه دهندگان PHP کمک می کند تا راحت تر به برنامه های کاربردی ابر بسازند.

پایان

چارچوب اسفنجی مانند یک “شتاب دهنده” قدرتمند است که به شما در انتقال هموار کمک می کند ، از جذابیت زبان GO لذت می برید و راندمان و خوشبختی توسعه بالا را حفظ می کنید. با استفاده از اسفنج برای جبران کاستی های مهندسی ، توسعه دهندگان با تجربه Laravel هنوز هم می توانند در مسیر Go مسابقه دهند!

اقدام کنید! منتظر چی هستی؟ مستندات رسمی را دنبال کنید و در 1 دقیقه یک نسخه ی نمایشی بسازید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا