نمایش نتایج 1 تا 3 از 3

نام تاپیک: برای ساخت یک نرم افزار تحت وب(تقریبا شبیه به شبکه های اجتماعی)

  1. #1

    Question برای ساخت یک نرم افزار تحت وب(تقریبا شبیه به شبکه های اجتماعی)

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

  2. #2
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: برای ساخت یک نرم افزار تحت وب(تقریبا شبیه به شبکه های اجتماعی)

    سلام.
    نمیتونم بگم 100 درصد ولی با تخمین خوبی جاوا پاسخگوی قسمت های مختلف برنامتون هست و شاید زبان دیگه ای نتونه بخش های مختلف رو ضمن حفظ سادگی پوشش بده. چرا اینو میگم چون مثلا php سادست ولی جامع نیست (نمیتونید باهاش اپلیکیشن تحت ویندوز بنویسید در عمل نه در تئوری اما برای سمت سرور خیلی وقتها خوبه)، یا C جامع هست ولی به هیچ وجه ساده نیست. جاوا بین این دو قرار میگیره، یک برنامه مینویسید ساده تر از سی، اما رو سه سیستم عامل لینوکس و ویندوز و مک به راحتی اجرا میشه. پایتون هم یه جورایی شبیه جاواست. اما بگذریم، دو قسمت داریم. کلاینت، سرور

    کلاینت:
    برای چنین برنامه ای شما نیاز به یک اپلیکیشن کلاینت دارید که خب با JavaSE و JavaFX به راحتی قابل انجامه و ارتباطات اینترنتی و... هیچ مشکلی نداره. همچنین ممکنه سمت کلاینت برای ذخیره پیغام ها (در صورتی که بخواید به صورت آفلاین هم پیغام ها رو خوند هم میتونید از فایل ساده استفاده کنید و خودتون ساختارش رو بگید و هم اینکه میتونید از دیتابیس استفاده کنید که انواع دیتابیس ها در اختیارتون هست و جاوا به راحتی با اکثرشون ارتباط برقرار میکنه). عکس، صوت و ویدیو و... هم که فایل هستن و مسئله ای برای ذخیره و نمایشش با جاوا وجود نداره (البته بحث فرمت های مختلف پیش میاد که باز جاوا تا حد خوبی جوابگو هست که از سایر زبان ها چیزی کم نداره)

    سرور:
    قسمت سرور به راحتی میتونید به زبان جاوا وب سرویس بنویسید که به ریکوئست ها پاسخ بده (هر چند راه اندازی اولیش یکم زمانبر هست به نسبت php اما بعد از پیکربندی اولیه برنامتون، بقیش ساده میشه). به یک دیتابیس هم نیاز خواهید داشت. در یک شبکه اجتماعی دیتابیس نقش مهمی داره. اگر شبکه اجتماعی کوچکی مد نظرتون هست و بیشتر جنبه آموزشی براتون داره، خب یک دیتابیس ساده رو سرور نیازتون رو برطرف میکنه. همون دیتابیس هایی که روی کلاینتتون هم ممکنه استفاده کنید مثل MySql و...
    تا اینجا تمام شد.

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

    برای شبکه های اجتماعی بزرگ به نظرم باید قید دیتابیس های رابطه ای رو بزنید. لااقل در همه بخش ها نمیتونید استفاده کنید. اما NoSQL ها برای اینجور شبکه هایی عالی هستن. چون هم مقیاس پذیر هستند و خیلی راحتتر میتونید اون رو روی سرورهای مختلف توزیعش کنید و هم سرعت انجام واکشی های ساده خیلی سریعتر هست و معمولا واکشی های پیچیده در این شبکه ها نداریم. البته ممکنه از تلفیقی از دیتابیس ها استفاده کنید.
    باید خوشه از کامپیوترهای سرور رو لااقل داشته باشید. برای این مورد هم جاوا واقعا خوبه. چون خیلی از همین سیستم های توزیع شده به زبان جاوا نوشته شدن و قاعدتا بهترین و به روزترین API ها به زبان جاوا در اختیارتون قرار میگیره. این به این معنی نیست نمیتونید از زبان های دیگه استفاده کنید، بلکه میخوام بگم جاوا نه تنها کمبودی در این زمینه نداره بلکه دست بالا رو هم داره.
    بخوام مثال بزنم، Apache Hadoop، Apache Spark و... که برای توزیع شدگی فایل ها و پردازش اونها میتونید استفاده کنید، با جاوا (یا اسکالا که هم خانوادش هست) نوشته شدن و از بهترین های تو حیطه خودشون هستن.
    در بخش دیتابیس هم انواع NoSql ها وجود داره. دیتابیس هایی مثل Casandra (جاوا) و MongoDB (سی++...) ، ElasticSearch (جاوا)، redis (سی)، Hbase (جاوا) و...
    از همه اینها چه اونهایی که با جاوا نوشته شدن چه اونهایی که نه به راحتی از طریق زبان جاوا میتونید ارتباط برقرار کنید چون درایورهاشون همه وجود داره و به راحتی اضافه کردن یک لایبرری هست. بعضیاشون مثل ElasticSearch نیازی به لایبرری هم ندارن و با یک ip,port و پروتکل http میتونی اطلاعات رو بخونی. یعنی خود elasticsearch هم یک وب سرویس داره

  3. #3

    نقل قول: برای ساخت یک نرم افزار تحت وب(تقریبا شبیه به شبکه های اجتماعی)

    خیلی خیلی ممنون

تاپیک های مشابه

  1. پرسرعت ترین راه برای نوشتن یک نرم افزار تحت وب
    نوشته شده توسط Weblove در بخش jQuery
    پاسخ: 2
    آخرین پست: سه شنبه 13 مهر 1395, 17:38 عصر
  2. پاسخ: 10
    آخرین پست: چهارشنبه 08 آذر 1391, 06:52 صبح
  3. سوال: کانکشن استرینگ برای یک نرم افزار تحت وب در یک شبکه داخلی
    نوشته شده توسط nilmil_nil در بخش ASP.NET Web Forms
    پاسخ: 7
    آخرین پست: چهارشنبه 17 آبان 1391, 19:02 عصر
  4. در خواست راهنمایی در مورد یک نرم افزار تحت وب
    نوشته شده توسط jafari1 در بخش شبکه و Networking‌
    پاسخ: 0
    آخرین پست: دوشنبه 11 شهریور 1387, 23:22 عصر
  5. تنظیمات مورد نیاز برای نصب یک نرم افزار تحت شبکه
    نوشته شده توسط saam_sum در بخش شبکه و Networking‌
    پاسخ: 3
    آخرین پست: چهارشنبه 18 مرداد 1385, 12:28 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •