PDA

View Full Version : سوال: برنامه را تحت وب بنویسیم یا ویندوز؟



forodo
چهارشنبه 02 اردیبهشت 1394, 22:01 عصر
سلام به همه دوستان برنامه نویس
از مدیران محترم معذرت خواهی می کنم که 2تاپیک مشابه رو در 2تالار درست کردم. به خاطر اینکه می خواستم نظر هر دو طرف رو بدونم. چون بالاخره هرکی وب یا ویندوز کار می کنه کمی تعصب داره که این بهتره و اون یکی هم می گه این بهتره.
من می خواستم یه برنامه ویندوزی بنویسم ولی به من گفته شد که دیگه برنامه ویندوزی با کتابخانه هایی که برای وب اومده ( بحث اینکه صفحه رفرش نمی شه ) دیگه داره از بین می ره.
حالا می خواستم بپرسم که برنامه ام را تحت ویندوز بنویسم یا تحت وب؟
منظورم از تحت وب اینه که با کدهای HTML و CSS و JavaScript و jQuery و Ajax و ASP.NET و #C و PHP و JAVA بنویسم. حالا از زبانهای سمت سرور یکیش رو انتخاب می کنم.
اینم بگم که فقط قراره این برنامه توی یک کامپیوتر اجرا بشه. یعنی کدها توی کامپیوتر A و بانک اطلاعاتی توی باز هم کامپیوتر A هستش.
به خاطر این به فکر فرو رفتم که :
1- تحت وب توی هر سیستم عاملی اجرا می شه چه ویندوز XP باشه چه ویندوز 10 ( فقط نیاز به مرورگر داره ) ولی ویندوزی چون کتابخانه های ویندوزها کمی با هم فرق دارند و ممکنه که در برنامه استفاده بشه اذیت می کنه.
2- خیلی راحت تر می شه ظاهر خیلی باحالی برای وبی درست کرد ولی برای ویندوز این کار کمی سخته حتی با WPF
فعلاً اینها به فکرم رسیده.
لطفاً بفرمائید که درست می گم یا کدوم بهتره؟
با تشکر

alibilgats
چهارشنبه 02 اردیبهشت 1394, 23:32 عصر
سلام دوست عزیز
اینکه شما میگید هر برنامه ای رو میشه با تحت وب نوشت درست نیست! قبول دارم که ابزارها و تکنولوژی های تحت وب پیشرفتای زیادی داشته ولی هنوز توی خیلی از موارد نمیشه روی تحت وب حساب کرد و باید از ویندوز فرم استفاده کرد!
مثلا شما فرض کنید میخواید یه برنامه بنویسید که بخواد با دستگاه های خاصی در ارتباط باشه یا سرعت پردازش و نمایش اطلاعات بالا باشه! اینجور مواقع به هیچ وجه نمیشه روی سیستمی که روی مرورگر اجرا میشه حساب باز کرد! ضمن اینکه خود مرورگرها هم مشکلات خودشون رو دارن! مثلا همش باید نگران این باشید که برنامه شما روی کدوم مرورگر ساپورت میشه یا نمیشه! یا مثلا شما برنامه ای نوشتی که واسه اجرا باید از اینترنت اکسپلورر 10 استفاده کنه درحالی که ویندوز xp از اکسپلورر 8 به بالا پشتیبانی نمیکنه! یا خیلی چیزای دیگه!
مثلا من خودم اخیرا سیستمی رو پیاده سازی کردم که با کارتهای هوشمند کار میکنه و بصورت اتوماتیک موقه کشیدن کارت با سرعت بالا باید یکسری پنجره های مختلفی رو بصورت اتوماتیک به کاربر نشون میده و پردازش مختلفی رو همزمان انجام میده! هم روی xp هم روی 7 و هم روی ویندوز سری 8 بخوبی کار میکنه!
به نظرتون الان میشه با یه مرورگر همچین کارایی کرد!؟
در مورد ظاهر وب هم تا حدودی با گفته شما موافقم که توی برنامه های تحت وب دست برنامه نویس بازتره برای اینکه گرافیک بهتری داشته باشه! ولی اگر شما طراحی خوبی داشته باشید و بتونید از کامپوننت های موجود در این زمینه استفاده کنید خیلی راحت میتونید برنامه های تحت ویندوز با ظاهری جذاب درست کنید!

خلاصه اینکه من با هر دو مورد کار کردم و پروژه های مختلفی نوشتم. به نظر من هرکدومشون به جای خودشون باید استفاده بشن!
وظیفه برنامه نویس حرفه ای اینه که با دیدی کاملا باز یه پروژه رو بررسی کنه و تشخیص بده که باید از ویندوز فرم استفاده کنه یا وب! متعصب بودن توی این قضیه ممکنه گرون تموم بشه!!!

موفق و پیروز باشید

SabaSabouhi
پنج شنبه 03 اردیبهشت 1394, 07:48 صبح
سلام به همه دوستان برنامه نویس
من می خواستم یه برنامه ویندوزی بنویسم ولی به من گفته شد که دیگه برنامه ویندوزی با کتابخانه هایی که برای وب اومده ( بحث اینکه صفحه رفرش نمی شه ) دیگه داره از بین می ره.
حالا می خواستم بپرسم که برنامه ام را تحت ویندوز بنویسم یا تحت وب؟
منظورم از تحت وب اینه که با کدهای HTML و CSS و JavaScript و jQuery و Ajax و ASP.NET و #C و PHP و JAVA بنویسم. حالا از زبانهای سمت سرور یکیش رو انتخاب می کنم.
اینم بگم که فقط قراره این برنامه توی یک کامپیوتر اجرا بشه. یعنی کدها توی کامپیوتر A و بانک اطلاعاتی توی باز هم کامپیوتر A هستش.
به خاطر این به فکر فرو رفتم که :
1- تحت وب توی هر سیستم عاملی اجرا می شه چه ویندوز XP باشه چه ویندوز 10 ( فقط نیاز به مرورگر داره ) ولی ویندوزی چون کتابخانه های ویندوزها کمی با هم فرق دارند و ممکنه که در برنامه استفاده بشه اذیت می کنه.
2- خیلی راحت تر می شه ظاهر خیلی باحالی برای وبی درست کرد ولی برای ویندوز این کار کمی سخته حتی با WPF
فعلاً اینها به فکرم رسیده.
لطفاً بفرمائید که درست می گم یا کدوم بهتره؟
با تشکر

سلام
ضمن این که نوشته‌های دوستم alibilgates رو تایید می‌کنم دوست دارم اضافه کنم که:
1. بر خلاف چیزی که شما فکر می‌کنی، با اومدن تکنولوژی DotNet دیگه نباید نگران ویندوز باشی. فقط باید نگران نسخه‌ی DotNet Framework باشی.
در حال حاضر نسخه‌ی 4 روی تمام نسخه‌های ویندوز از XP تا ویندوز 10 قابل نصب هست. اما چون ویندوز XP از چرخه‌ی پشتیبانی خارج شده نسخه‌های بالاتر
DotNetFramework روی XP دیگه نصب نمی‌شن. اگه می‌خوای XP رو پشتیبانی کنی، از نسخه‌ی 4 و در غیر این صورت از آخرین نسخه یعنی 4.5.2 و به زودی
4.6 می‌تونی استفاده کنی.
2. هر کاری رو که بتونی توی وب انجام بدی، مطمئن باش به‌ترش رو می‌تونی توی WPF انجام بدی.

با صورت مساله‌ی شما، جواب حتماً Desktop Application هست. که من توصیه می‌کنم WinForm رو کنار بگذاری و بری سراغ WPF

صبا صبوحی

j_naroogha@yahoo.com
پنج شنبه 03 اردیبهشت 1394, 08:49 صبح
دوست عزیز داره دوره برنامه های ویندوزی میگذره و همه چی داره میره سمت وب .....

forodo
پنج شنبه 03 اردیبهشت 1394, 09:04 صبح
من خیلی جاها برای مصاحبه رفتم و می تونم بگم 90% جاهایی که می رفتم وب کار می خواستند.
الان هم که توی شرکتی دارم کار می کنم فقط برنامه هاشون رو تحت وب می نویسند.
حتی اتوماسیون اداری رو تحت وب نوشتند.
حالا نمی دونم که برنامه شون با سخت افزار هم کار می کنه یا نه. بر اساس حرفی که جناب alibilgats (http://barnamenevis.org/member.php?72322-alibilgats) زدند.
حالا نمی دونم چون اومدم توی تالار #C این سوال رو کردم دوستان می گند ویندوز ( تعصب ) و اگر توی تالار ASP.NET سوال می کردم شاید دوستان می گفتند وبی ( تعصب )
یعنی برنامه ای که تحت وب باشه نمیشه به سخت افزار وصلش کرد؟

Omid.Miresmaeili
پنج شنبه 03 اردیبهشت 1394, 09:54 صبح
من خیلی جاها برای مصاحبه رفتم و می تونم بگم 90% جاهایی که می رفتم وب کار می خواستند.
الان هم که توی شرکتی دارم کار می کنم فقط برنامه هاشون رو تحت وب می نویسند.
حتی اتوماسیون اداری رو تحت وب نوشتند.
حالا نمی دونم که برنامه شون با سخت افزار هم کار می کنه یا نه. بر اساس حرفی که جناب alibilgats (http://barnamenevis.org/member.php?72322-alibilgats) زدند.
حالا نمی دونم چون اومدم توی تالار #C این سوال رو کردم دوستان می گند ویندوز ( تعصب ) و اگر توی تالار ASP.NET سوال می کردم شاید دوستان می گفتند وبی ( تعصب )
یعنی برنامه ای که تحت وب باشه نمیشه به سخت افزار وصلش کرد؟

سلام، به نظرم بحث تعصب نیست. هر چیزی جایگاه خودش رو داره. انواع نرم افزارهای تخصصی و غیرتخصصی هستند که هیچ لزومی نداره تحت وب توسعه داده بشن و عملاً امکانش هم نیست. انواع برنامه های مولتیمدیا و پلیرها، نرم افرارهای ادیت و پردازش تصویر، انواع شبیه سازهای تجاری، بازی های سنگین (cpu-intensive) و غیره. خیلی مسائل هست که باید در نظر گرفته بشه مثل قدرت پردازش سرورها، تمایل کاربران برای کنترل لوکال دیتا و امنیت و نیاز به دسکتاپ قدرتمند مستقل از وب. البته خب برنامه های تحت وب از حیث کراس پلتفرم بودن و دسترسی بهتر و بازار کاری مساعدتر برتری دارند. ولی علی ای حال نباید انتظار داشت به این زودی ها نرم افزارهای ویندوزی با برنامه های تحت وب جایگزین بشن.

alibilgats
پنج شنبه 03 اردیبهشت 1394, 10:49 صبح
من خیلی جاها برای مصاحبه رفتم و می تونم بگم 90% جاهایی که می رفتم وب کار می خواستند.
الان هم که توی شرکتی دارم کار می کنم فقط برنامه هاشون رو تحت وب می نویسند.
حتی اتوماسیون اداری رو تحت وب نوشتند.
حالا نمی دونم که برنامه شون با سخت افزار هم کار می کنه یا نه. بر اساس حرفی که جناب alibilgats (http://barnamenevis.org/member.php?72322-alibilgats) زدند.
حالا نمی دونم چون اومدم توی تالار #C این سوال رو کردم دوستان می گند ویندوز ( تعصب ) و اگر توی تالار ASP.NET سوال می کردم شاید دوستان می گفتند وبی ( تعصب )
یعنی برنامه ای که تحت وب باشه نمیشه به سخت افزار وصلش کرد؟

به نظر من توی برنامه نویسی تعصب هیچ جایی نداره! نمیدونم چرا بعضی از این دوستان اینطوری برخورد میکنن با این قضیه!
یه برنامه نویس ویندوز هیچ وقت نمیتونه ادعا کنه مثلا سایت دیجی کالا رو میتونه با ویندوز فرم بنویسه!
یا هیچ برنامه نویس وبی نمیتونه ادعا کنه که میتونه یه برنامه واسه پردازش تصویر کنترل ترافیک رو با web بنویسه!
چون اگه قرار بود با یکی از این موارد همه پروژه ها رو نوشت که مایکروسافت یکیشو از دور خارج میکرد!

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

در مورد اینکه 90 % جاهایی که رفتین وبکار میخوان کاملا با نظرتون موافقم. چون کشش بازار الان طرف web هستش

از نظر سخت افزار هم باید عرض کنم که :
- اولا ارتباط با سخت افزار توی برنامه ها کلا کار سختیه(البته منظورم از سخت افزار بارکد خوان نیست!!!:چشمک:)
- ولی توی برنامه های تحت وب کار واقعا سخت میشه! و توی خیلی از موارد واقعا دیگه کاری از برنامه های وب ساخته نیست! اما تو برنامه های ویندوز فرم کار با سخت افزار راحت تره.

فرض کنید یکی بیاد شرکت بگه من یه وب سایت میخوام بعدش چون من فقط ویندوز فرم کار کردم بگم که چیزی که شما میخوایید رو با ویندوز فرم پیاده سازی میکنم و تحت وب به درد نمیخوره ! ولی شما هرجایی که رفتید باید برنامه رو بهمراه دات نت فریم ورک نصب کنید!:قهقهه:

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

تو رو خدا این تعصبای بیخود رو بذارید کنار.....

ghasem110deh
پنج شنبه 03 اردیبهشت 1394, 11:39 صبح
من خیلی جاها برای مصاحبه رفتم و می تونم بگم 90% جاهایی که می رفتم وب کار می خواستند.
الان هم که توی شرکتی دارم کار می کنم فقط برنامه هاشون رو تحت وب می نویسند.


سلام
بنده هم با جناب alibilgats کاملا موافقم !
بسته به کاری که قرار انجام بدین ، یا خواست مشتری هستش ... باس کار انجام بگیره ؛ اگه یه برنامه هیچ ربطی به وب یا حتی تحت شبکه بودن نداره ، چه لزومی داره که از ابزارهای وبی یا سوکت نویسی توی پروژه استفاده کرد !؟
بعد هم من مثل بعضی از دوستان ، تو کتم نمیره ... یعنی چی تمام و کمال همه چی داره میره تحت وب ؟
به خاطر چهار تا مدل گوشی و تپلت !!!
.
.
.
اما در مورد اینکه 99% شرکتای ایرانی برنامه نویس تحت وب میخوان ... به نظر خودتون چرا ؟
یه دلیل عمدش رو alibilgats گفتن ... بازارش بهتره (پول توشه) --- اما به این معنی نیست که کارایی بیشتری داره !
تو بحث ارتباط با سخت افزار (پروژه های صنعتی) که یه نرم افزار با انواع و اقسام محاسبات پیچیده و ریز و درشت تحت ویندوز کارش رو انجام میده ... بعد تازه اصل کار شروع میشه که باس نتیجه این محاسبات در آن واحد پاس بده به یه دستگاه یا ماشین ...
یا فقط نتیجه بر حسب ورودی های دریافتی به کاربر نشون بده !
نرم افزارهای صنعتی و حرفه ای تحت ویندوز رو ببینید ... محصولات شرکت های آلمانی ، هندی ، روسی ، ژاپنی و آمریکایی !
از نرم افزارهای هدایت و ناوبری تو زمینه هوافضا گرفته تا برسه به برنامه های ساده طراحی مثل اتوکد ...
از لحاظ گرافیک و زیبایی هم هیچکدوم با دیگری فرقی ندارن (یا خیلی فرق ندارن) چون تمرکز کردن روی اصل کار ؛ کاربری هم که قراره از یه برنامه صنعتی دقیق استفاده کنه گرافیک براش (با قطعیت) اصلا مهم نیست !
خروجی درست و دقیق میخواد ... و در عین حال لحظه ای .

اما اینجا تو همه تو یه زمینه فعالیت دارن (نرم افزارهای حسابداری و همون اتوماسیون اداری و ...) مجبورن که یه قابلیت های غیر ضروری رو بش اضافه کنن ... یکی هم گرافیک و زیبایی برنامه است ! که توی انتخاب مشتری تاثیر بزاره ...
شما یه برنامه واسه دریافت سیگنال های رادیویی مثل چیزایی که شرکت R&S آلمان میسازه بده بیرون ... ظاهرش هم مثل لولو باشه (زشت و بی ریخت)
دست کم بین 100 تا 250 میلیون تومن قیمت بزارین روش ... تازه بدون هیچ پشتیبانی (چون نمونه خارجیش پشتیبانی نمیکنه تو ایران)

کدوم شرکت ایرانی رو دیدین که تو این زمینه ها کار قابل قبولی داده بیرون ... که حالا میگیم تحت ویندوز دیگه رفته تو باقالیها (قدیمی شده)
بجز هلو ، آلبالو و شلیل و غیره ، نرم افزار دیگه چی داریم :متفکر:
بازیهای رایانه ای با اون همه درآمد و گردش مالی ... تحت وبشون با تحت ویندوز ... قابل مقایسه نیستن ... از هر لحاظ که بگین (کاری به طرفدارش نداریم)
و از طرف دیگه ... خود طراحی وب رو نگاه کنین ... یه سایت ساده و معمولی رو الان حول و حوش 500 تا 600 تومن قیمت میدن !
طبیعی که بازار کار تحت وب بهتره ...
.
.
.
در کل منم نه از تحت ویندوز طرفداری میکنم و نه از تحت وب ... باید بسته به کاری که انجام میدین انتخاب کنین !

SabaSabouhi
جمعه 04 اردیبهشت 1394, 11:03 صبح
سلام
بحث قشنگی شد.
من ضمن تایید نوشته‌های دوستم ghasem110deh باید بگم با نوشته‌های دوست دیگه‌مون j_naroogah مخالف هستم.
من الان 3-4 سال هست که فقط دارم desktop و به طور خاص WPF کار می‌کنم. بازارش هم کافی هست.
در مورد نوشته‌های دوست عزیزمون forodo هم باید یاد آوری کنم که قیمت رو ذکر نکردین.
اون 90% شرکت‌هایی که فقط وب می‌خوان، نهایت حقوقی که برای برنامه‌نویس ( یا بگم مهندس نرم‌افزار ) در نظر می‌گیرن
700-800 تومن هست. یعنی حقوق یه اپراتور ساده!!!!
به‌تره این جور به اصطلاح شرکت‌ها رو اصلاً تو محاسبه و آمار نیاری.

اگه دنبال بازار کار بکر و خوب هستی، فقط برو سراغ Android و کلاً برنامه‌نویسی موبایل.

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

در ضمن با امکان استفاده از Web Service و هم‌چنین مطرح شدن بحث Cloud، خیلی از امتیازها و برتری‌های
ظاهری Web Application دیگه موضوعیت ندارن.

صبا صبوحی

rahgoshafan
جمعه 04 اردیبهشت 1394, 15:43 عصر
جواب تو خود سواله
دو تا موضوع متفاوت با کارایی و خروجی متفاوت رو مقایسه نکیند .
از ابزار وب برنامه تحت وب خارج میشه و از ابزار تحت ویندوز ، برنامه تحت ویندوز .
وقتی مقایسه درست نیست ، پس برتری هر کدوم از دیگری هم درست نیست .