من پروژه JS خود را در Golang بازنویسی کرده ام و می خواهم تجربه خود را به اشتراک بگذارم.

دو سال پیش برای خودم یک سرور کوچک در NodeJS ساختم – یک پروکسی SQLite از طریق HTTP. زمانی مفید است که مجموعه داده هایی دارید که باید از طریق شبکه با مصرف کنندگان به اشتراک بگذارید. و بعد از تعدادی Refactor و نیازمندی های جدید، در نهایت تصمیم گرفتم که برای توزیع بهتر و کارایی حافظه، پروکسی را در Golang بازنویسی کنم. آنقدر خوب پیش رفت که تقریباً همه چیز را در Go حتی قسمت هایی را که در ابتدا قصد بازنویسی آن را نداشتم بازنویسی کردم، و اکنون معتقدم که 50 تا 70 درصد کارهایی که قبلا انجام داده ام اگر از Go همراه با NodeJS استفاده می کردم بهتر می شد. بنابراین، من به خودم ثابت کردهام که Golang برای هر توسعه وب سنگینی کارآمد است و از نظر سرعت توسعه تقریباً با NodeJS برابری میکند. حتی ایجاد یک افزونه NAPI با Go در مقایسه با C++ بسیار آسان است، فقط به دلیل کامپایل کردن متقابل.
حالا بیایید در مورد یک نقص Golang صحبت کنیم، و آن در مورد برنامه نویسی نیست.
در سال گذشته بیشتر به عنوان برنامه نویس آزاد کار می کنم. اجرای کنسرت ها و گاهی اوقات کار قرارداد کوتاه. من گهگاه از Golang استفاده می کردم، بیشتر زمانی که وظایفم مربوط به بلاک چین بود، و حتی چندین میکروسرویس در Go نوشته ام.
اکنون بازار کار را بررسی کرده ام و کمی ناامید هستم که دامنه کریپتو/فایننس برای Golang در بازار کار اصلی است :(. و اکثر شرکت ها به 3-4 سال اکسپرت Go (حتی برای کنسرت ها) نیاز دارند که سخت است. اگر در زمینه FANG یا کریپتو فاینانس کار نمی کنید، دریافت کنید.
وقتی به فیدهای شغلی خود نگاه می کنم، Golang در بازار کار مانند RoR برای بلاک چین به نظر می رسد، به نوعی “در زبان دامنه قرار دارد”.
اگر شرکتهای کوچکتر و استارتآپها نیز از Go حمایت میکردند، میتوانستند خیلی کارها را بهتر انجام دهند و بازار کار متفاوت به نظر میرسید. من معتقدم که Go می تواند ارزش بیشتری به محصولات اضافه کند. و بله – یک پروژه حیوان خانگی این دیدگاه را به من داد.
صحبت کردن در مورد پروژه حیوان خانگی
من DAL را ارائه می دهم: https://github.com/nesterow/dal
در اوایل آلفا است، زیرا در حال حاضر فقط من از آن استفاده می کنم. در مرحله فعلی، این پروژه می تواند برای تحقیق مفید باشد، به خصوص برای کسی که می خواهد یک افزونه بومی برای NodeJS بنویسد یا می خواهد کتابخانه های خود را به Golang منتقل کند، یا اگر کسی وقت داشت، من را برشته کند 🙂
بخش کلاینت در TypeScript نوشته شده است، سرور را می توان به عنوان باینری مستقل (best perf) یا یک افزونه nodejs استفاده کرد.
آرامش ✌️