PDA

View Full Version : تولید یک برنامه همانند Snap یا تلگرام



behnam2010
سه شنبه 19 دی 1396, 20:22 عصر
با درود به دوستان گرامی
سئوالی داشتم در خصوص اینکه :
آیا یک برنامه شبیه Snap یا تلگرام یک پنل برای کاربر باید داشته باشه و یک پنل برای مدیریت ؟
این پنل مدیریت آیا تحت وب است ؟ یا کلا چطور این برنامه ها مدیریت میشوند؟

با سپاس

Nevercom
چهارشنبه 20 دی 1396, 11:13 صبح
بیشتر برنامه های تحت وب، به شکلی از پنل مدیریتی نیاز خواهند داشت تا بشه بخش های مختلف اون رو کنترل کرد.
این که این پنل یک وب سایت باشه یا یه برنامه‌ی موبایل، بستگی به نیازمندی‌های اون پروژه داره، اما معمولاً وب سایت انتخاب میشه چون تو وب سایت که روی مرورگر دسکتاپ باز شده باشه، فضای بیشتری در اختیار دارید که انجام عملیات مدیریتی رو ساده تر و سریعتر می کنه.

این که کاربر سیستم هم یک پنل داشته باشه یا نه، برمی‌گرده که تعریفی که کاربر از سیستم داره، مثلن اگر بازار رو درنظر بگیریم، "کاربر" اینجا می‌تونه توسعه دهنده باشه که معنیش این هست که علاوه بر پنل مدیریت داخلی کافه بازار، برای کاربران هم ارائه‌ی این پنل ضروری هست، در صورتی که ممکنه برای کاربر نهایی یا "مشتری" که برنامه ها رو دانلود می کنه یا می‌خره، این پنل اونقدرها ضروری نباشه (حداقل در ابتدای توسعه سیستم)

behnam2010
چهارشنبه 20 دی 1396, 13:37 عصر
پس یعنی در برنامه ای مثل تلگرام
مدیر اصلی آقای پاول دورف نرم افزار تلگرام رو تحت وب نوشته با یه پنل مدیریتی برای خودش که بتونه همه کاربرها رو کنترل کنه؟
بعد اومد اون رو به شکل اندروید تعمیم داد و برنامه نویسیش کرد؟

Nevercom
پنج شنبه 21 دی 1396, 22:41 عصر
درواقع هر برنامه‌ی تحت وب (چه موبایل، چه دسکتاپ و چه وب یا هر پلتفرم دیگه)، نیاز به یک هسته‌ی وب داره.

در برنامه های Client/Server عبارت برنامه‌نویسی بک‌اند (Backend)، به صورت کلی به مفهوم برنامه نویسی در سمت سرور اشاره می کنه. سرور درحالت کلی وظیفه‌ی ارائه و پردازش داده ها رو به عهده داره و کلاینت وظیفه‌ی استفاده از دیتا.

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

نهایتن API تلگرام توسعه داده شده تا امکان استفاده کلاینت ها از سیستم فراهم بشه.

تا به اینجای کار ما نه "پنلی" داریم، نه وبسایتی و نه اپلیکیشن موبایل. اینها همه هسته‌ی سیستم هستن.

در مرحله‌ی بعد اپ های موبایل توسعه داده میشن که سرویس استفاده کنن (درواقع کلاینت ها)

مسلمن تیم مدیریتی تلگرام ابزارهای کنترلی ویژه ای نیاز داره که هم کارکرد سیستمش رو کنترل کنه و هم مثلن بتونه در سطحی بالاتر محتوای کانالها یا گروه های عمومی رو کنترل کنه (با استفاده از همین ابزارها هست که تلگرام میتونه کانالهای که مثلن محتوای پورنوگرافیک دارن رو مسدود کنه)
همچنین جدای از ابزارهای کنترلی، به سیستم مانیتورینگ هم نیاز هست تا بتونن وضعیت سرورها رو کنترل کنن یا از ترافیک شبکه مطلع بشن و مسائلی از این دست.

به هرحال توسعه‌ی یک سیستم پیچیدگی های زیادی داره که کلاینت ها (مثلن اپ های موبایل) بخش کوچکی از اون هستن

behnam2010
جمعه 22 دی 1396, 14:28 عصر
درواقع هر برنامه‌ی تحت وب (چه موبایل، چه دسکتاپ و چه وب یا هر پلتفرم دیگه)، نیاز به یک هسته‌ی وب داره.

در برنامه های Client/Server عبارت برنامه‌نویسی بک‌اند (Backend)، به صورت کلی به مفهوم برنامه نویسی در سمت سرور اشاره می کنه. سرور درحالت کلی وظیفه‌ی ارائه و پردازش داده ها رو به عهده داره و کلاینت وظیفه‌ی استفاده از دیتا.

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

نهایتن API تلگرام توسعه داده شده تا امکان استفاده کلاینت ها از سیستم فراهم بشه.

تا به اینجای کار ما نه "پنلی" داریم، نه وبسایتی و نه اپلیکیشن موبایل. اینها همه هسته‌ی سیستم هستن.

در مرحله‌ی بعد اپ های موبایل توسعه داده میشن که سرویس استفاده کنن (درواقع کلاینت ها)

مسلمن تیم مدیریتی تلگرام ابزارهای کنترلی ویژه ای نیاز داره که هم کارکرد سیستمش رو کنترل کنه و هم مثلن بتونه در سطحی بالاتر محتوای کانالها یا گروه های عمومی رو کنترل کنه (با استفاده از همین ابزارها هست که تلگرام میتونه کانالهای که مثلن محتوای پورنوگرافیک دارن رو مسدود کنه)
همچنین جدای از ابزارهای کنترلی، به سیستم مانیتورینگ هم نیاز هست تا بتونن وضعیت سرورها رو کنترل کنن یا از ترافیک شبکه مطلع بشن و مسائلی از این دست.

به هرحال توسعه‌ی یک سیستم پیچیدگی های زیادی داره که کلاینت ها (مثلن اپ های موبایل) بخش کوچکی از اون هستن


ممنونم از پاسخگویی شما
ایا طبق همین صحبت های شما برنامه اسنپ یا تپ سی هم به همین شکل عمل میکنند؟