برای انجام پروژه استارتاپی نیاز به راهنمایی دارم (انتخاب زبان ,ابزار ها و زیر ساخت)

با سلام و احترام و ببخشید که درجا درخواست راهنمایی دارم .

دوستان من یک پروژه که شاید بشه اسمش رو گذاشت استارتاپ میخوام انجام بدم برای خودم هست یعنی تک نفره انجامش میدم خدا رحم کنه .

شیوه کار کرد سیستم این نوع خواهد بود .

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

قدم اول این ها هست و در قدم دوم یکمی هوش مصنوعی و اینچیزا احتمالا اضافه کنم .

برای اینکار من سه زبان و سه فریمورک رو پیدا کردم و در بعضی از قسمت ها مشکل دارم.

زبان برنامه نویسی Rust فریمورک rocket و برای فرانت اند yew درمورد جانیفتاده بودن زبان و مستندات کم در زمینه های مختلف . وب سرور نمیدونم مثل انجین ایکس میتونه عالی عمل کنه یا نه یا میشه انجین ایکس رو با این زبان استفاده کرد .

زبان برنامه نویسی Golang فریمورک ravel - beego این زبان هم در مورد فریمورک هاش اطلاع دقیق ندارم و نمیدونم کدومش خیلی خوبه ولی خودش که خیلی خوبه :slight_smile: . فرانت اند جاوا اسکریپت فریمورک ریکت نیتیو .

زبان برنامه نویسی پایتون فریمورک جنگو فرانت اند ریکت نیتیو جاوا اسکریپت برای تولید اپ اندروید اینجا هم مشکل کند بودن زبان و اینکه من ممکنه باگ تولید کنم سخت گیر نیست مثله دو زبان قبل منم مبتدی هستم و اینکه دوتا زبان و دو تا فریمورک سنگین رو باید هندل کنم .

بعد از این مراحل رسیدم به زیر ساخت سرور. سیستم عامل انتخابیم الان دبین هست چون با اوبونتو اشنایی دارم اما اجباری روش ندارم و اگر بشه با سرور دستوپنجه نرم نکنم که عالی میشه .

و یک سری سوالات که از چه شرکتی سرور بگیرم ابری باشه یا nvme .

و اینکه اگر ابزار و تکنولوژی ای چیزی میشناسید که میتونه کمک کننده باشه بهم بگید ممنون .

زیادی طولانی شد ببخشید و سپاس از شما .

1 پسندیده

حتما لازمه برای انجام کار پروژتون رو به قسمت های کوچیک تر تقسیم کنید و قدم به قدم جلو برید اینکه صرفا اول کار با چی میخواین لانچ کنید فکر میکنم اهمیت کمتری داشته باشه . ساز و کارتون رو با جزئیات بیشتر بررسی کنید .

به نظره من برای انجام این کار شما تو حالت mvp جنگو رست فریم ورک و ریکت نیتیو میتونه گزینه خوبی باشه

http://www.django-rest-framework.org/

2 پسندیده

Yew ? من فک نمیکنم زدن فرانت اند crud . بصورت وب اسمبلی زیاد جالب و کار آسونی باشه …

بهتره همون js برای فرانت اند استفاده کنی …

یا اینکه(از این قسمتش متنفرم : ) ) میخای استک و تکنولوژیات یکپارچه باشن . میتونی Node.js استفاده کنی :expressionless:

برای فرانت زدن تو پایتون قبلن یه پست گذاشتم .


که توصیم transcrypt یا flexx هست …
واسه اپ زدن با کیوی هم میتونی از نیماجان @nim4 کمک بگیری…

در کل . با اینکه استارت آپ هستش. ولی فک نمیکنم تک نفره فکر خوبی باشه …

2 پسندیده

نظر شخصی من اینه کلا بیخیال گو

کمی توضیح میشه بدین چرا گو نه ?

1 پسندیده

والله بر اساس تجربه شخصی خودم میگم البته ممکنه نظر بقیه متفاوت باشه
گو بنظر من بیشتر برای وب سرویس های کوچولو خوبه ، شی گرایی نداره و باعث میشه نوشتن پروژه های بزرگ واقعا سخت باشه و بعدا خوندن کدها هم واقعا سخت میشه ، من تا جایی که یادمه یکبار کدای یه دستگاهو با گو نوشتم و به محض اینکه تعداد خطوط بالا رفت کارم خیلی سخت شد مخصوصا که از struct و interface و اشاره گر… زیاد استفاده کرده بودم و صبح که کد میزدم عصر سر در نمی آوردم چیه ، تا جایی ک یادمه جنریک هم نداشت و باعث شد حجم کد تو همین برنامه یکم بالا بره که اخر سر مجبور شدم از صفر دوباره با جاوا بنویسم و گو رو کلا ول کردم
البته گو مزایای زیادی هم داره مثل کتابخونه های بی نظریش یا سینتکس ساده و اسون و چنل و… ، خروجی های بزرگی هم بیرون داده مثل داکر اما به درد کارای بزرگ نمیخوره مخصوصا بخاطر مدل عجیب غریبی که بجای شی گرایی گذاشتن و باعث میشه کد زیادی پیچیده بشه

3 پسندیده

من به خاطر چند مورد با گو خیلی هم حال میکنم و به نظرم عملکرده خوبی داره .

1 Compiles Into Single Binary تمامی فایل ها بعد از کامپایل تبدیل به یک فایل میشه
2 . Static Type System که در تظاد فرموده شما بسیار مناسب برای پروژه هایی با اسکیل بزرگ هست
3 . Performance حدا اقلش برای من که با پایتون کار میکنم خیلی جاها بنچ مارک های مختلفی دیدم که در بعضی از کار های مشابه 10x بهتر عمل کرده
4 . نیاز به چارچوب توسعه وب نداره http, json, html templating
5 . واقعا IDE خوبی داره و به جرات میتونم بگم بیشتر 80 % صرفه جویی تو زمان رو براتون میاره . از پلاگینJetbrain استفاده میکنم و خیلی راضیم ازش
6 . در مورد اینکه درسته زبان شی گرایی نیست ولی این امکان رو داره با تیپس و تریک به شی گرایی بپردازید

احتمالا یوز کیس مناسبی برای استفاده از گو انتخاب نکردین که دلتونو زده :disappointed_relieved:

لیستی از کاربرانی که از گو استفاده کردن که اکثرا کوچولو هم نیستن

500px, Basecamp, BBC, Bitly, Canonical, Clever, CloudFlare, CoreOS, DigitalOcean, Digg, Docker, DropBox, Facebook, GitLab, Hailo, IBM, InfluxData, Iron.io, Intel, JustWatch, Lyft, Medium, Minio, Mozilla, NY Times, OpenDoor, SendGrid, SourceGraph, SpaceMonkey, StackExchange, Twitch.
2 پسندیده

همممم خیلی بحث جالبی بود: )
@nim4 @mortezaKcode
بیشتر شبیه بحثای من با اقا سمیر و اقای سام بود :sweat_smile:

نیماجان حتی یوز کیس مناسبی هم انتخاب کنید … اصولا گولنگ و FP رو توی یه تیم و با زدن میکروسرویس ها بکار میبرن … به نظرم اقا مرتضی حق دارن … خود منم بیشتر بحثام . و جبهه گرفتنم علیه FP بخاطر سیستم های بزرگ monolithic بوده ک نوشتم … و مشکل سردرگم شدن تو خطوط زیاد بدون شی گرایی برام خیلی ملموسه . .

منظورش از سرویس های کوچولو احتمالا وب سرویس یا میکروسرویس های مستقل هست … و جوین شدن این سرویس های کوچولو به همدیگه ابدا معنی پروداکشن کوچولو رو نمیده … بلکه میتونه یه پروداکشن عظیم رو شامل بشه … مثل نت فلیکس …

البته اقا مرتضی هم باید دقت کنن که گولنگ هم اصلا pure نیست و خیلی بدعت از OOP توشه …و ارتباط برقرار کردن باهاش زیاد سخت نیست . …

3 پسندیده

در کل نمیشه نادیده گرفت FP رو و حتما توی پروداکشن عظیم نقشه مهمی رو ایفا میکنه . سر در گمی رو با کامنت نوشتن کمی میشه کنترل کرد

1 پسندیده

Go که functional نیست
FP در برنامه های بزرگ بسیار راحت تر maintain میشه در تجربه من

3 پسندیده

منظور منم نادیده گرفتن نبود …
منم از fanهای rust هستم : ) و بهش ارادت دارم . .

اما دلایلی ک باید از rust استفاده کنم … فراتر از پرفورمنس هستن …
تو اکثر موارد پایتون رو ترجیح میدم

2 پسندیده

شاید Functional نباشه اما OO هم نیستش :laughing::laughing::laughing:

2 پسندیده

اره procedural مثل C چون سازنده های Go از سازنده های c هستند

3 پسندیده

دوست عزیز اون لیستی که در مورد کاربرای گو نوشتین اکثریت از گو در حالت میکرو سرویس و پروکسی … استفاده کردند ، در مورد بنچ مارک باید بگم همه چی سرعت نیست وگرنه گزینه های خیلس بهتری از گو وجود داره ، بله تبدیل شدن به یک فایل اجرایی خیلی عالی هست اما گاهی اوقات ممکنه مشکل ساز هم باشه ، ide من از lightİDE استفاده میکردم ساده و کم حجم بود، بهرحال نظر شخصی من اینه گو برای میکروسرویس خوبه و تا جایی ام ک اطلاع دارم خود گوگلم ازش بعنوان پراکسی در بوتیوب استفادع کرده و هنوز پایتون در گوگل حرف اول رو میزنه و با اینکه سازندگانش در ابتدا دیزاین پترن و وب فریم ورک رو ناپسند میدونستند امروز میبینم که برای گو وب فریم ورکهای مختلف و کتاب های ضخیم در مورد دیزاین پترن نوشته شده ، خلاصه دل بخواهی هست و ممکنه من بستنی شکلاتی دوس داشته باشم اما شما متنفر باشین

2 پسندیده

من ننوشتم نتیجه جستجو بود , اینکه خوندن این لینک هم خالی از لطف نیست :+1:

https://talks.golang.org/2012/splash.article

1 پسندیده

اره این نکته همیشه ذهن منو درگیر کرده بود . از کن تامسون بعید بود GC به C اد کنه :sweat_smile:
فک کنم شنیدم که . کار با پوینترا تو Go میتونن اندازه کار با پوینترای C مهلک باشن و دردسر ساز…

1 پسندیده

سلام مجدد .

تشکر از همه دوستان عزیز .

من تصمیمم رو گرفتم با پایتون و ریکت نیتیو انجام میدم اما برای سرور چیکار کنم ؟ راستی امکان پرداخت ارزی ندارم . سرویسی هست من رو از مدیریت سرور خلاص کنه ؟

3 پسندیده

شما دست به کار بشید دیپلوی کردن چندان کار سختی نیست . متود های مختلفی هست که خیلی راحت روی vps میتونید اجرا کنید مثله :

من خودم همین رو استفاده میکنم برای کارهام مشکلی بود میتونم کمک کنم :hibiscus:

1 پسندیده

اگه حوصله یا توان سرو کله زدن با دبیان نداری. یه سنت او اس و سی پنل بگیر :smile: (این توصیه رو هم دوس نداشتم) …
روی دبیان هم پنل زیبایی مثل webmin نصب میشه …

کاش مشکل فقط دردسر بود خواناییش افتضاح میشه ، زیاد یادم نمونده ولی تا حدودی در خاطر دارم که داخل struct از اشاره گر استفاده کرده بودم و یکم تو در تو بود که بعدا اشک از چشمام درآورد
یادم نرفته بگم متن های خطاهای گو هم اصلا خوب نیستند اینو انصافا شاکی زیاد داشت

1 پسندیده