# Native Code > برنامه نویسی در Delphi > توسعه نرم افزار تحت وب >  شروع برنامه نویسی تحت وب

## bmanfy

با سلام :
 راستش سوالم ممكنه از نظر شما يه كم ساده و پيش  پا افتاده باشه .  اما حقيقتش اينه كه من نميدونم :
برنامه نوشتم تحت شبكه . به تازگي اون افراد در خواست كردن كه برنامه در بستر وب (IE)هم  اجرا بشه تا ديگه كلاينتها نخوان اون رو نصب كنن .راستش من تا به حال تجربه چنين كاري رو نداشتم .
چه طور ميشه يك برنامه رو به اين شكل نوشت كه تو IE اجرا بشه ؟ يعني من بايد دنبال چي برم؟چه نسخه اي از دلفي ميتونه اين كار رو انجام بده ؟ آيا يك برنامه معمولي رو ميشه طوري تغيير داد كه تو IE اجرا بشه (و يا بايد از اول نوشته بشه) ؟ 
آیا برنامه ای که به این طریق نوشته میشه میتونه به همون انعطاف برنامه معمولی باشه ؟ آیا نوشتنش با یک برنامه معمولی خیلی تفاوات داره  ؟ 
اگر ابهامي در سولم وجود داشت بفرماييد تا بگم . چون زياد در اين زمينه چيزي نميدونم ترجيح ميدم بيشتر از اين سوال نپرسم . 
پيشاپيش از همتون  تشكر ميكنم .

----------


## vcldeveloper

برای این کار در Win32 دلفی دو راهکار کلی ارائه میده:
1- استفاده از IntraWeb.
2- استفاده از تکنولوژی های قدیمی تر مثل WebSnap.

طبیعی هست که IntraWeb در بین این دو قابلیت های بیشتری داشته باشه، و کار کردن باهاش هم راحتر باشه.

در بستر دات نت، برای این کار باید از ASP.Net استفاده کنید. دلفی دات نت (نسخه های قدیمی)، و Delphi Prism امکان نوشتن برنامه های ASP.Net در بستر دات نت را برای شما فراهم می کنند.




> چه نسخه اي از دلفي ميتونه اين كار رو انجام بده ؟


برای Win32، دلفی 7 و تمام نسخه های بعد از آن (بجز دلفی 8) از IntraWeb و WebSnap پشتیبانی می کنند.
برای دات نت، دلفی 2006 برای دلفی دات نت قدیمی، و Delphi Prism به عنوان جدیدترین نسخه برای دلفی دات نت.




> آیا برنامه ای که به این طریق نوشته میشه میتونه به همون انعطاف برنامه معمولی باشه ؟


بستگی داره منظور از انعطاف از نظر شما چی باشه.




> آیا نوشتنش با یک برنامه معمولی خیلی تفاوات داره  ؟


بله، برنامه نویس باید علاوه بر آشنایی با تکنولوژی مربوطه (مثل ASP.Net یا IntraWeb)، با مفاهیمی مثل HTML، CSS، و JavaScript آشنا باشه.
میزان تغییر در برنامه شما بستگی به کدهایی داره که نوشتید. در یک برنامه تحت وب، رابط کاربر برنامه تحت وب هست، و مابقی بخش های برنامه فرقی با سایر برنامه ها ندارند. پس هر چقدر کدهای شما بهتر از رابط کاربر منفک شده باشند، تغییرات مورد نیاز در برنامه هم کمتر خواهد بود.

----------


## bmanfy

با تشکر از پاسختون :
منظورم از انعطاف راحتی کاربر و کار کردن با اون و هم چنین راحتی برنامه نویسی . 
یعنی طراحی اون هم مثل صفحات وب دردسر داره ؟ یا مثلا امکاناتی که برنامه معمولی داریم اونجا هم هم داریم .
مثلا همین که یک DBGrid خاصیت مالتی سلکت داره و .... 
به طور کلی به نظر شما برنامه نویسی وب بهتره یا Application . منظورم از نظر اون کاریهکه آخر سر تحویل داره میشه . از همه لحاظ .یعنی به صرفه است از این روش برای نوشتن برنامه ها کاربردی استفاه کرد ؟

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

----------


## vcldeveloper

> به طور کلی به نظر شما برنامه نویسی وب بهتره یا Application . منظورم از نظر اون کاریهکه آخر سر تحویل داره میشه . از همه لحاظ .یعنی به صرفه است از این روش برای نوشتن برنامه ها کاربردی استفاه کرد ؟


این بحث مفصلی هست، و نمیشه یک نسخه کلی برای همه برنامه ها پیچید. گاهی Web Application بهتر هست، گاهی Desktop Application. در این زمانه، رویکرد بیشتر به سمت Web Application هست.




> مثلا امکاناتی که برنامه معمولی داریم اونجا هم هم داریم .
> مثلا همین که یک DBGrid خاصیت مالتی سلکت داره و ...


در محیط هایی مثل ASP.NET یا IntraWeb سعی شده تولید رابط کاربر تحت وب به تولید رابط کاربر برای برنامه های Desktop در ابزارهای RAD نزدیک بشه. اما بالاخره تفاوت هایی هم وجود داره.




> برای شروع باید از کجا شروع کنم .


یک پروژه InteraWeb یا ASP.Net  ایجاد کنید، و ببینید کار کردن باهاشون چطوریه. Demoهایی هم ازشون می تونید پیدا کنید، و رابط کاربر و کدهای آنها را مطالعه کنید.




> (اگر کتابی هم در این باره سراغ دارین ممنون میشم )


برای ASP.NET که N کتاب مختلف وجود داره. برای InteraWeb علاوه بر مطالبی که در سایت خودش پیدا میشه، در کتاب Mastering Delphi 7 هم یک بخش بهش اختصاص داده شده.

----------


## bmanfy

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

----------


## vcldeveloper

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


درباره Web Application تحقیق کنید. الان Adobe فتوشاپ رو بصورت Web Application ارائه میکنه، مایکروسافت مجموعه برنامه های Office خودش را بصورت Web Application ارائه میکنه، و امثال اینها زیاد هستند؛ فکر می کنم با ذکر این چند نمونه، تکلیف این سوال شما مشخص باشه.

درباره Web Application تحقیق کنید تا بیشتر با آن آشنا بشید.

موفق باشید

----------


## zoghal

جناب آقای کشاورز یک سوال می پرسم دوست دارم با توجه به تجربیاتتون من رو راهنمایی کنید،
من دلفی کار بودم، اما یک سال هست که روی php و جدید فریم ورک هایش به صورت حرفه ای کار میکنم

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

خواهشمندم asp  رو اصلا در نظر نگیرید. ممنون

----------


## vcldeveloper

> سوال بنده این هست که برای تولید یک کار تجاری و شرکتی شما باشید php رو انتخاب می کنید یا intraweb


PHP

---------

----------


## Ali.Afzal

با سلام و خسته نباشید به استادان محترم!
من تقریبا به صورت نصفه و نیمه حرفه ای با IntraWeb کار کردم و متاسفانه منابع خارجی کمی هم
دراین زمینه پیدا می شه ولی عوضش منابع فارسی زیادی مثل همین سایت میشه پیدا کرد.
حتی کتاب Mastering Delphi 7 هم که ترجمه فارسیش موجود هست کامل توضیح نداده !!!
من مشکلی که پیدا کردم این هست که نمی توانم یک صفحه کوچیک روی صفحه اصلی 
باز کنم (یه چیزی مثل صفحه لوگین).از اساتید درخواست راهنمایی دارم!

----------


## vcldeveloper

> من مشکلی که پیدا کردم این هست که نمی توانم یک صفحه کوچیک روی صفحه اصلی 
> باز کنم (یه چیزی مثل صفحه لوگین).از اساتید درخواست راهنمایی دارم!


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

----------

