PDA

View Full Version : طراحی اپلیکیشن های Server Based



mnakhaeipoor
چهارشنبه 07 مهر 1395, 12:38 عصر
سلام
مثلا اپلیکیشن دیجیکالا که هنگام وصل شدن به اینترنت حجم عظیمی از دیتا (محصولات فروش) رو از سرورش دریافت میکنه و همراه با توضیحات و تصویر به کاربر نمایششون میده دقیقا چجوری هستن
منظورم اینه که سرورشون صرفا یه سرور Restful هست؟ یعنی اپ با وصل شدن به Rest Api سرور داده ها رو در قالب JSON میخونه. این درسته؟
ممنون میشم اگه یکم توضیحات درمورد کلیت این اپ ها بدید :قلب:

Nevercom
چهارشنبه 07 مهر 1395, 17:03 عصر
چه اپ موبایل، چه لایه ی بیرونی وبسایت، همه برای دریافت و ارسال اطلاعات به سرور (یا هسته برنامه که در سرور درحال اجراست) نیاز به یک لایه ی واسط دارن.

وب سرویس یکی از این لایه هاست که امکان انجام عملیات مشخص رو برای کلاینت ها (اپ موبایل، دسکتاپ، وبسایت...) فراهم میکنه.

این وب سرویس میتونه RESTFul باشه یا از هر تکنولوژی و الگوی دیگری استفاده کنه، خروجی و ورودی داده ها هم میتونه JSON یا هر فرمت دیگری باشه.

مهم این هست که سرور با دراختیار قرار دادن API به کلاینت ها اجازه میده به بخشی از اطلاعات دسترسی پیدا کنن یا اقدام به ثبت یا تغییر اطلاعات موجود در سرور کنن.

اپ دیجیکالا هم از این قاعده مستثنا نیست، چون تعداد اطلاعات زیاد هست دلیلی بر این نیست که از تکنولوژی پیچیده تری استفاده بشه. قطعاً برای داشتن پرفرمنس بالا خیلی عوامل رو باید درنظر داشت

از نرم افزار و سخت افزار سرور گرفته تا بهینه سازی های خود Application سرور و دیتابیس.

من چک نکردم ببینم وب سرویسشون چه ساختاری داره، اما انتخاب JSON برای تبادل اطلاعات انتخاب مناسبی برای وب سرویسی که به موبایل خدمات میده هست.

mnakhaeipoor
چهارشنبه 07 مهر 1395, 18:23 عصر
چه اپ موبایل، چه لایه ی بیرونی وبسایت، همه برای دریافت و ارسال اطلاعات به سرور (یا هسته برنامه که در سرور درحال اجراست) نیاز به یک لایه ی واسط دارن.

وب سرویس یکی از این لایه هاست که امکان انجام عملیات مشخص رو برای کلاینت ها (اپ موبایل، دسکتاپ، وبسایت...) فراهم میکنه.

این وب سرویس میتونه RESTFul باشه یا از هر تکنولوژی و الگوی دیگری استفاده کنه، خروجی و ورودی داده ها هم میتونه JSON یا هر فرمت دیگری باشه.

مهم این هست که سرور با دراختیار قرار دادن API به کلاینت ها اجازه میده به بخشی از اطلاعات دسترسی پیدا کنن یا اقدام به ثبت یا تغییر اطلاعات موجود در سرور کنن.

اپ دیجیکالا هم از این قاعده مستثنا نیست، چون تعداد اطلاعات زیاد هست دلیلی بر این نیست که از تکنولوژی پیچیده تری استفاده بشه. قطعاً برای داشتن پرفرمنس بالا خیلی عوامل رو باید درنظر داشت

از نرم افزار و سخت افزار سرور گرفته تا بهینه سازی های خود Application سرور و دیتابیس.

من چک نکردم ببینم وب سرویسشون چه ساختاری داره، اما انتخاب JSON برای تبادل اطلاعات انتخاب مناسبی برای وب سرویسی که به موبایل خدمات میده هست.
خیلی ممنون
من الان میخوام یه اپ تو اون مایه ها بنویسم خیلی نگرانم حجم کار بالا باشه
سمت اندرویدش رو که هیچ نگرانی نیست خودم 2 سه ساله اندروید کار میکنم اما چون تابه حال با سرور ارتباطی نداشتم میترسم حجم کار خیلی سنگین باشه چون 1 ماه بیشتر وقت پروژه نیست و از طرفی باید Node.js هم یاد بگیرم
نظر شما چیه؟

Nevercom
چهارشنبه 07 مهر 1395, 19:55 عصر
در مورد حجم کار، یا بهتره بگم امکان انجامش در اون بازه زمانی نظری ندارم.

بستگی داره به پروژه و البته سرعت عمل خودتون. من خودم هیچوقت پروژه ای که هم کلاینت اندروید داشته باشه و هم سرور رو قول یکماه نمیدم (البته چون من در شرکت مشغول به کارم و در وقت آزاد میتونم رو پروژه ها کار کنم، برام زمانبر تر هست و به همین دلیل زیاد پروژه قبول نمی کنم)

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

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

به هرحال، اینها مهم نیست. پروژه رو گرفتید و زمان هم محدوده. اما خود برنامه ی سمت سرور چیز عجیب و غریبی نیست. حتماً میتونید انجامش بدید