Wednesday, December 1, 2010

آموزش طراحی وب سایت 3

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

کار دریم ویور چیست ؟

نرم افزار Dreamweaver از شرکت Macromedia در نگاه اول نرم افزار ساده ای جهت ساخت صفحات HTML (Hyper Text Markup Language) است . که به ما کمک میکند تا مجبور نشویم کدهای زبان HTML را حفظ کنیم و با چند حرکت و کلیک دستورات به زبان HTML انجام میشوند و در واقع باید بگوییم این نرم افزار Dreamweaver است که Tag های زبان HTML را کاملا حفظ کرده و برای ما انجام میدهد .
شاید اولین سوالی که برای شما پیش بیاید این است که چه اشخاصی به سوی نرم افزار Dreamweaver میروند و چرا از نرم افزار های رقیب Dreamweaver یعنی GoLive از شرکت Adobe و FrontPage از شرکت Microsoft استفاده نکنیم . جواب این است که نرم افزار Dreamweaver از شرکت Macromedia و همچنین نرم افزار GoLive از شرکت Adobe برای طراحان وبی است که کارهای گرافیکی میتوانند بکنند یا بهتر بگویم طراح گرافیکی هستند اما نرم افزار FrontPage از شرکت Microsoft برای کسانی بیشتر به درد میخورد که کار آنها اتوماسیون اداری است یعنی با مجموعه برنامه Office از شرکت Microsoft کار میکنند بهتر است . و ما چون زمینه کارمان گرافیک است از بین نرم افزارهای Macromedia Dreamweaver MX 2004 و Adobe GoLive CS نرم افزار Dreamweaver را انتخاب کردیم ، زیرا نرم افزار Dreamweaver با نرم افزار Fireworkes از همین شرکت Macromedia است به خوبی مکالمه میکند و نرم افزار GoLive با نرم افزار Adobe ImageReady به خوبی مکالمه میکند و ما نیز چون Target کارمان شرکت Macromedia است نرم افزار Dreamweaver MX 2004 را انتخاب کردیم .
Dreamweaver MX 2004 به جز ساخت صفحات HTML از نوع Static و Dynamic میتواند به ساخت صفحات با PHP و ASP و ASP.NET و JSP و ColdFusion نیز به ما کمک کند ، همچنین این برنامه فلش را بخوبی پشتیبانی میکند و همین امر در طراحی سرعت ما را افزایش و خطاهای ایجاد شده در فرانت پیج را در هنگام کار با فلش ها کاهش میدهد . این برنامه ساخت behavior ها را نيز بخوبي پشتيباني ميکنيد . امکانات ديگر آن در هنگام کار با برنامه چندان زياد است که گاهي از اينهمه ابزار به هيجان مي آييد . پس از اين پس براي بافتن روياهاي خود در وب يک روياباف داريد !
متاتگ چیست ؟

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

دو نوع اصلی متاتگ وجود دارد :
این متاتگ باعث میشود که اطلاعات اضافی ای همراه صفحه وب درخواستی شما در http header به مرورگر ارسال شود . مثلا میتوانید تاریخ انقضای اطلاعات را تعیین کنید یا میتوانید صفحه وب را با یک متا تگ خاص پس از چند ثانیه به صفحه دیگری بفرستید بدون دخالت کاربر ! HTTP-EQUIV
این نوع از متاتگ برای تعیین اطلاعات داخل صفحه وب استفاده میشود که باعث میشود صفحه وب شما با راحتی بیشتری برای موتورهای جستجوگر شناخته شود ... مثلا زبان این صفحه ، نام طراح ، کلمات کلیدی این صفحه و ... NAME

متاتگ ها کجای صفحه وب نوشته میشوند ؟
متاتگ ها را باید داخل تگ head نوشت . در صفحه هایی که از چند فریم درست شده باید در تمام صفحات متاتگ را نوشت.
به مثال های زیر دقت کنید : content در متاتگ کارش معرفی مقداری هست که متاتگ با یکی از دو صفت name و HTTP-EQUIV در خود دارد .

مثال : NAME="keywords" CONTENT=" persian macromediax dreamweaver">
تگ بالا را یه نگاه کنید . از نوع name است . مقدار name مساوی با keywords است . یعنی این متاتگ کارش شناساندن کلمات کلیدی سایت به موتور های جستجوگر است ... اگر میخواهید موتور های جستجو مانند گوگل سایت شما را بهتر بشناسند این تگ را به قالب سایت یا وبلاگ خود بیفزایید و در جلوی content کلمات کلیدی سایت خود را بنویسید .

مثال : NAME="description" CONTENT=" persian web design center">
تگ بالا کارش افزودن توضیحات سایت شما به موتور های جستجوگر است . اگر این تگ را به وب سایت یا وبلاگ خود اضافه کنید از ماه آینده اگر کسی بصورت تصادفی در گوگل به سایت شما بر بخورد توضیحات داخل این متا تگ را بجای توضیحات میبیند . یعنی گوگل دقیقا از این متاتگ برای ذخیره اطلاعات درباره سایت شما استفاده میکند . پس بکاربردن این متا تگ ها خیلی مهمه !

مثال :
تگ بالا تاریخ انقضای این صفحه وب را تعیین میکند . یعنی اگر کسی این صفحه وب را یکبار دیده باشد وقتی این زمان فرا برسد و او دوباره آدرس این سایت را در مرورگرش بزند این صفحه از داخل cache لود نمیشود بلکه از سرور دانلود میشود .

سایت خود را مطابق تکنولوژی جستجوگر ها طراحی کنید
بسياري از وب سايت ها هستند كه نميتوانند ترافيك كافي را براي سايت خود بدست آورند ، يكي از اين علت ها يك نكته ساده است : ” وب سايت براي موتور هاي جستجوگر بهينه نشده “ . در اين مقاله اعمالي كه براي بهينه سازي وب سايت در برخورد با موتور هاي جستجو بايد صورت گيرد شرح داده ميشود :

1. صفحات را مطابق ميل جستجوگر ها طراحي كنيد :
براي يك موتور جستجو گرافيك سايت شما يا فلش ها و كد هاي جاوا اسكريپت جذابي كه ساخته ايد اهميتي ندارد . بلكه چيزي كه يك موتور جستجو نياز دارد روان بودن كد نوشته شده در صفحات است . منظور من نوشتن كامنت در بين تگ ها يا رعايت كردن فاصله ها نيست بلكه استفاده از تگ هايي است كه جستجوگر ها از آنها استفاده ميكنند . تگ هاي مهم در يك صفحه وب عبارتند از : تگ title و description و Keywordsو Alt . ( اين روزها بعضي از موتور هاي جستجو فقط از تگ Keywords براي ارائه نتايج استفاده ميكنند ).
چند نكته :
• اگر از جدول ها براي ساخت صفحات سايتتان بهره گرفته ايد ، سعي كنيد از كد هاي ساده استفاده كنيد نه از تگ هاي تو در توي پيچيده .
• استفاده از فريم ها باعث سر گيجه موتور هاي جستجو ميشود كه به ضرر شماست . در ضمن استفاده از فريم ها ديگر در طراحي سايت ها متداول نيست .
• اگر از كد هاي جاوا اسكريپت استفاده كرده ايد براي فراخواني فايل هاي جاوا اسكريپت خارجي از كد هاي كوتاه استفاده كنيد .
• استفاده از تگ Alt در تگ تصاوير موتور هاي جستجو را در يافتن موضوع تصاوير كمك ميكند . حتما از اين تگ براي عكس ها استفاده كنيد .
• متن اصلي را قبل از عكس ها در صفحاتتان قرار دهيد و يا حداقل عكس ها را در ميان متن قرار دهيد .

2. كلمات كليدي Keywords :
استفاده از اين تگ بسيار اهميت داره و نوع كلمات استفاده شده در اون هم مهمه . سايت wordtracker كلمات كليدي خوبي را براي هر نوع سايتي پيشنهاد ميدهد كه ميتوانيد از آن بهره بگيريد . تعداد كلماتي كه ميتوان در اين تگ استفاده كرد محدوديت خاصي ندارد ، اما براي حصول نتيجه بهتر از 10 الي 15 كلمه برتر استفاده كنيد .

3. محتواي سايت :
بسياري از موتور هاي جستجو از متن اصلي صفحات براي يافتن كلمات كليدي استفاده شده در تگ keywords استفاده ميكنند . پس استفاده درست از كلمات كليدي و مطابقت آن كلمات با متن شما بسيار اهميت دارد. كلمات اصلي متن را در تگ heading و يا bold بگذاريد و يا آن را لينك كنيد تا جستجوگر ها به آن لغات اهيت ويژه اي دهند .

4. عنوان سايت :
تگ title يكي از مهم ترين بخش ها از ديد جستجوگر هاست . عنوان صفحات نيز بايد مانند كلمات كليدي درست و مطابق متن انتخاب شود . چون گاهي موتور هاي جستجوگر به عناوين صفحات بيش از كلمات كليدي اهميت ميدهند . تعداد كلماتي كه در عنوان صفحات استفاده ميكنيد نيز براي اينكه از حد استاندارد جستجوگر ها خارج نباشد بايد حداكثر 9 كلمه باشد .

5. تگ توضيحات :
موتور هاي جستجو هنگام نشان دادن نتايج جستجوي خود ، اطلاعات تگ متاي توضيحات هر صفحه را براي نمايش توضيحات آن سايت نمايش ميدهند .بنابراين نوشتن توضيحات جذاب و درست بيننده را به سوي سايت شما جذب ميكند . استاندارد تعداد كلمات اين تگ 20 الي 25 كلمه ميباشد .

6. گرافيك :
استفاده از عكس اگر چه زيبايي خاصي به سايت شما ميدهد اما حتي با تگ ALT نيز يك عكس به اندازه چند كلمه قدرت ندارد . چون موتور هاي جستجو فقط كلمات را ميشناسند و عكس ها را هم با تگ Alt آنها شناسايي ميكنند . بنا براين استفاده از عكس به جاي لينك و يا بجاي متن از خوانايي سايت شما براي چشم هاي يك موتور جستجوگر مي كاهد .

7. نقشه سايت :
نقشه سايت كمك بسياري به جستكوگر ها ميكند تا تمام صفحات سايت شما را شناسايي كنند . ابزار هاي زيادي بر روي وب هست كه نقشه سايت شما را در چند كليك ميسازد .

8. لينك هاي هدايتگر :
لينك هايي كه به ديگر صفحات سايت ميدهيد بايد ساده باشد . استفاده از منوهاي pop up و فلش و مانند آن از خوانايي لينك هاي شما مي كاهد .اگر مجبور به استفاده از لينك هاي پيچيده در طراحي سايت هستيد ميتوانيد از لينك هاي ساده در انتهاي صفحات استفاده كنيد تا موتور هاي جستجوگر نيز بتوانند لينك هاي شما را شناسايي كنند .

رعايت اصول فوق باعث ميشود تا سايت شما در نتيجه جستجوي جستجوگر هاي معروف رتبه بالاتري را بدست آورد .

مقدمه اي بر وب و زبان html

منظور از وب چيست؟
وب شبکه ای است متشکل از تمامی کامپيوترهای دنيا، شبکه ای از شبکه ها.
اينترنت، وب، WWW ، web يا World Wide Web همگی يک چيزند.
تمامی کامپيوترهای وب ميتوانند با هم ارتباط داشته باشند.
کامپيوترهای موجود در وب با کمک استاندارد ارتباطی يا پروتوکل HTTP با هم ارتباط برقرار ميکنند .
نحوه کارکرد وب چگونه است؟
اطلاعات وب داخل فايلهائی به نام Web Pages و يا صفحات وب قرار دارند.
اين فايلها يا صفحات روی Web Server يا کامپيوترهای سرويس دهنده وب ذخيره شده اند.
برای ديدن صفحات وب از نرم افزاری به نام مرورگر و يا Web Browser استفاده ميشود.
دو مرورگر Internet Explorer و Netscape Navigator جزو معروفترين مرورگرها حساب ميشوند.
مرورگر Internet Explorer متعلق به شرکت مايکروسافت و مرورگر Netscape Navigator متعلق به شرکت نت اسکيپ ميباشد.
مرورگرها چگونه به خواندن صفحات وب ميپردازند؟
يک مرورگر با کمک يک Request درخواستی برای خواندن يک صفحه از وب سرور ميکند.
اين Request يا درخواست بر اساس استاندارد ارتباطی يا پروتوکل HTTP بوده و شامل آدرس صفحه مورد نظر ميباشد.
آدرس يک صفحه وب چيزی شبيه http://www.internet.com/faq.html است. بخش //:http نوع پروتوکل و يا استاندارد ارتباطی را تعيين ميکند، www.internet.com نام دومين يا Domain است و faq.html نام صفحه ای است که بايد خوانده شود.
مرورگرها چگونه صفحات وب را نمايش ميدهند؟
چگونگی نمايش يک صفحه وب بصورت مستتر در آن وجود دارد.
مرورگرها از روی دستورالعملهای داخل صفحات وب و با کمک تگ ها به نمايش صفحات ميپردازند.
وظيفه اصلی تگ های اچتمل ( HTML tags ) بيان چگونگی نمايش اطلاعات ميباشد.
يک تگ اچتمل چيزی شبيه

اين تگ پاراگراف است! p> است.
چه کسانی استاندارد های وب را تعيين ميکند؟
تعيين استاندارد های وب ربطی به شرکتهای مايکروسافت و يا نت اسکيپ ندارد.
World Wide Web Consortium يا W3C متولی تعيين استانداردهای وب است.
HTML, CSS and XML از مهمترين استانداردهای تصويب شده وب ميباشند.
آخرين استاندارد HTML استاندارد XHTML 1.0 ميباشد .
روش نصب PHP بروى Windows ها

روش نصب PHP بروى windows 95/98/Me NT/2000/XP
PHP بر روى win32 بدو صورت نصب مىشود

1 - بصورت CGI executable
2 - بصورت server module SAPI

1 - نصب PHP بصورت CGI executable :
نصب PHP بصورت CGI executable بسيار ساده مىباشد براى اين كار شما بايد بر روى PC خود يكى از web server هاى زير را داشته باشيد

Personal Web Server 3 and 4 or newer
Internet Information Server 3 and 4 or newer
Apache 1.3.x
OmniHTTPd 2.0b1 and up
Oreilly Website Pro
Xitami
Netscape Enterprise Server, iPlanet
در سايت www.php.net شما مىتوانيد php Installer را بر روى PC خود ذخيره كنيد
اين برنامه php را بر روى PC شما بصورت CGI executable و با پشتيبانى MySQL نصب خواهد كرد و web Server شما را بصورت automatic تنظيم خواهد كرد
--------------------------------------------------------------------------------
2 - نصب PHP بر روى win32 بصورت server module SAPI :

نصب PHP بصورت server module SAPI بر روى Apache توسط دوست عزيزمان آقاى على نادرى در قسمت مقالات بطور كامل توضيح داده شده است
و اما نصب PHP بر روى IIS :
جهت اين كار ابتدا بايد PHP را از اين آدرس Windows Binaries بر روى PC خود ذخيره كنيد
محتويات اين فايل كه بصورت zip است را در شاخه‌اى كه مىخواهيد php را نصب كنيد قرار دهيد c:\php خوب است
پس از اين كار فايل‌هاى php4ts.dll و sapi/php4isapi.dll و dlls/*.dll را در شاخه system ذخيره كنيد

c:\windows\system for Windows 9x/ME
c:\winnt\system32 for Windows NT/2000
c:\windows\system32 for Windows XP
فايل php.ini-recommended را به php.ini تغيير نام داده و در شاخه WINDOWS ذخيره كنيد
در فايل php.ini تغييرات زير را ايجاد كنيد:
شما بايد extension_dir را به شاخه extension هاى مورد نظر خود تغيير دهيد چنانچه مطابق با توضيحات پيش رفته باشيد اين مسير c:\php\extensions مىباشد
فايل browscap.ini را در

c:\windows\system\inetsrv\browscap.ini on Windows 9x/Me,
c:\winnt\system32\inetsrv\browscap.ini on NT/2000,
c:\windows\system32\inetsrv\browscap.ini on XP.
جنانجه پس از نصب PHP فايلهاى شما در شناختن variable ها مشكل داشتيد در فايل php.ini پارامتر register_globals را از off به on تغيير دهيد
سپس در IIS در قسمت

Home Directory > configuration > App Mappings :

Executable : C:\WINNT\system\php4isapi.dll
Extension : .php
را اضافه كنيد در قسمت ISAPI نيز

Filter Name : php
Executable : C:\WINNT\system\php4isapi.dll

پس از يك بار stop / start كردن IIS شما مىتوانيد PHP را بر روى PC خود اجرا كنيد .

آموزش طراحی وب سایت 2

طراحی صفحات وب با استفاده از HTML
HTML مخفف "HyperText Markup Language" است. HTML زبانی است که از آن برای نوشتن صفحات وب ایستا (استاتیک) استفاده می شود. این زبان برای مشخص کردن عناصر مختلف صفحه از یک سری تگ (برچسب) استفاده می شود. برای مثال برای اینکه یک تصویر را وارد صفحه کنیم از برچسب استفاده می کنیم و برای مشخص کردن یک پاراگراف متن مورد نظر خود را بین تگ

و

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

نوشتن صفحات HTML لزوماً به برنامه خاصی احتیاج ندارد. حتی با استفاده از NotePad در ویندوز هم می توانید صفحات مورد نظر خود را طراحی کنید. صرف نظر از برنامه ای که از آن برای طراحی صفحات خود کمک می گیرید آشنایی شما با HTML می تواند تا حد بسیار زیادی در کیفیت صفحات تأثیر بگذارد.
استفاده از CSS برای قالب بندی عناصر HTML
HTML اصولاً برای مشخص کردن هویت عناصر صفحه به وجود آمد. یعنی برای اینکه مشخص شود کدام بخش صفحه یک پاراگراف است یا کدام قسمت سرفصل است و کدام بخش یک جدول است و... برای این منظور هم از یک سری تگ استاندارد نظیر

،

و استفاده می شد. وظیفه ای که برای HTML در نظر گرفته شده بود فقط همین بود و نحوه نمایش این عناصر بر عهده مرورگرهای وب بود. برای مثال مشخصاتی نظیر فونت متن، رنگ و مشخصاتی از این قبیل را مرورگر انتخاب می کرد و HTML در قالب بندی عناصر صفحه نقشی نداشت. به تدریج مرورگرهای بزرگ مثل اینترنت اکسپلورر و Netscape از تگهای HTML جدیدی برای قالب بندی و تعیین ظاهر صفحات وب استفاده کردند مانند تگ که برای تعیین فونت متن مورد استفاده قرار می گیرد و شناسه color که رنگ متن را مشخص می کند. صفحاتی که با HTML 3.2 نوشته شده اند به دلیل استفاده از این تگها برای قالب بندی صفحه به کد نویسی بیشتری احتیاج و در نتیجه صفحه ای که با این روش به وجود می آید مملو از تگهای HTML می شود و در نتیجه حجم صفحات افزایش می یابد و سرعت لود شدن آنها کاهش پیدا می کند. علاوه بر این اصل جدایی محتویات صفحه از قالب آن هم رعایت نمی شود. استفاده از استایل و شیوه نامه ها (CSS) با HTML 4.0 آغاز شد. از CSS برای قلب بندی عناصر صفحه استفاده می شود. برای مثال با آن می توان برای قسمتهای مختلف در صفحه تصویر زمینه تعیین کرد، فونت آنها را تغییر داد، رنگ متن ها را تغییر داد و بسیاری از قابلیتهای دیگر که قبلاً در HTML وجود نداشت با CSS در دسترس طراحان قرار می گیرد اصول روان شناسی استفاده از رنگ ها در طراحی صفحات وب یکی از اصول بسیار مهم و کلیدی در طراحی صفحات وب ، توجه به اصل رنگ بندی صفحات و استفاده از رنگ های مکمل و ترکیبی مطلوبی است که کاربران بتوانند بر اساس اصل سهولت و جذابیت صفحه ، به مشاهده مطالب آن بپردازند. این که چه رنگی متناسب سایت های وب است ، پرسشی است که کارشناسان وب ، خیلی پاسخ جامع و کاملی برای ان ارائه نکرده اند و کم تر متخصصات طراحی وب به مسئله روان شناسی رنک ها در طراحی سایت ، توجه کرده اند. اما به هر حال یک اصل کلی وجود دارد که می گوید : در رنگ بندی یک صفحه ، باید به این موضوع توجه شود که این رنگ قرار است در چه صفحه ای و با چه موضوعی به کار رود. یعنی اصل توجه به عملکرد و موضوعیت سایت ، در رنگ بندی مطالب مهم است . سایت های دولتی و به طور کل ، سایت هایی با بازدیدکننده بسیار بالا ، معمولا از رنک سفید برای زمینه صفحات و رنگ آبی برای لینک های صفحه و رنگ بنفش برای لینکهای مشاهده شده که به عنوان default برنامه فرانت پیج نیز به کار می رود ، استفاده می کنند. سایت هایی که بیش تر جنبه شخصی دارند ، از رنگ های مکمل استفاده می کنند. مثلا رنگ سبز پر رنگ در کنار سرمه ای ، جذابیت خاصی به سایت هایی با موضوعیت بازرگانی می دهد . و یا در طراحی سایت های کودکان ، از رنگ های خیلی شاد استفاده می شود. به هر حال توجه به کارکرد کد رنگ ها در طراحی صفحات وب از اهمیت مهمی برخوردار است . در ادام این مطلب ، فقط قصد یادآوری نوع روان شناسی هر رنگ درمخاطبان از دید روان شناسان داریم و فعلا در مورد این که چه نوع رنگی برای چه سایتی مناسب است ، صحبت نمی کنیم. اگر چه این توضیحات ، خود نیز بیان گر استنتاجات خوبی هستند که وب مسترها را در گرافیک سایت ، به خوبی هدایت می کند. یک بهترین رنگ نداریم! در مدیریت نوین یک اصل پذیرفته شده وجود دارد که یک بهترین شیوه مدیریت در کار وجود ندارد. ترکیب و هماهنگی و استقرار یک نظام در رنگ بندی صفحات وب نیز ، چنین رویکردی دارد. تجربه و نوع علاقه و هنر طراح وب هست که سایتی را برای ما جذاب و سایتی دیگر را next می کنیم. نکاتی که می بایست در زمان طراحی گرافیکی سایت در نظر داشته باشیم به شرح زیر هستند اولين برنامه ساده java اكنون كه اصول اساسي شي ئ گرايي جاوا مورد بررسي قرار گرفته ، به برخي از برنامه هاي واقعي جاوا نگاه خواهيم كرد. كار را با كامپايل كردن و اجراي برنامه كوتاه زير شروع مي كنيم . خواهيم ديد كه اين برنامه بيشتر از حد تصور شما كار لازم دارد . + /* + This is a simple Java program. + Call this file "Example.java". + /* + class Exaample { + // Your program begins with a call to main.)( + public static void main( String args [] ){ + System.out.println( "This is a simple Java program."); + } + } نكته : در توصيف زيرين از JDK(JAVA Developer's Kit() استاندارد استفاده شده است كه توسط خود شركت Sun Microsystems عرضه شده است . اگر از يك محيط توسعه يافته ديگر براي جاوا استفاده مي كنيد ، آنگاه بايد از رويه متفاوتي براي كامپايل كردن و اجراي برنامه استفاده كنيد . در اين مورد به راهنماي كاربران كامپايلر خود مراجعه نماييد . وارد نمودن برنامه Entering the program در بسياري از زبانهاي كامپيوتري ، نام فايلي كه كد منبع (Source code) يك برنامه را نگهداري مي كند بصورت اختياري انتخاب مي شود . اما در جاوا اينگونه نيست . اولين چيزي كه بايد درباره جاوا بدانيد اين است كه نامي را كه براي فايل منبع انتخاب مي كنيد ، بسيار اهميت دارد . در اين مثال ، نام فايل منبع بايد Example JJAVA باشد . چرا ? در جاوا يك فايل منبع را بطور رسمي واحد كامپايل سازي (Compilation unit) مي گويند . اين فايل يك فايل متني است كه دربرگيرنده يك يا چندين تعريف كلاس (class definition) است . در كامپايلر جاوا بايد از فايل منبعي استفاده نمود كه داراي پسوند فايل JAVA باشد . دقت كنيد كه اين پسوند داراي چهار كاراكتر است . حتما" مي دانيد كه سيستم عامل شما بايد توانايي حمايت از پسوندهاي طولاني تر را داشته باشد . بدين ترتيب Dos و ويندوز 3.1 توانايي حمايت از جاوا ( لااقل تاكنون ) را ندارند. اما ويندوز NT و95 بخوبي ازعهده اينكار برمي آيند. يكبار ديگر به برنامه فوق نگاه كنيد، نام كلاس تعريف شده توسط برنامه ،Example مي باشد ، اين يك تصادف يا اتفاق نيست . در جاوا كليه كدها بايد داخل يك كلاس جاي بگيرند . براساس آيين نامه ، نام آن كلاس بايد با نام فايلي كه برنامه را نگهداري مي كند ، مطابقت داشته باشد . همچنين بايد مطمئن شويد كه حروف بزرگ در نام فايل با نام كلاس مطابقت و هماهنگي داشته باشند . دليل اين است كه جاوا بسيار حساس نسبت به مورد است . از اين نظر آيين نامه اي كه نامهاي فايل را به نامهاي كلاس مرتبط مي كند ، ممكن است اختياري بنظر رسد . اما ، اين آيين نامه سبب شده تا نگهداري و سازماندهي برنامه ها آسان تر انجام شود . كامپايل نمودن برنامه Compiling the program براي كامپايل نمودن برنامه Example ، كامپايلر javac را اجرا نموده و نام فايل منبع را روي خط فرمان (command line) بصورت زير مشخص نماييد : + c:\>javac Example.java كامپايلر javac فايلي تحت نام Example.class ايجاد مي كند كه شامل روايت كد بايتي از برنامه است . همانگونه كه قبلا" بحث شد ، كد بايتي جاوا نوعي معرفي مياني از برنامه شماست كه دربرگيرنده دستورالعملهايي است كه مفسر جاوا آنها را اجرا مي كند . بنابراين خروجي javac كدي كه مستقيما" قابل اجرا باشد ، نخواهد بود . براي اجراي واقعي برنامه ، بايد از مفسر (interpreter) جاوا تحت نام java استفاده نماييد . بدين منظور نام كلاس Example را بعنوان يك آرگومان (argument) خط فرمان بصورت زير وارد نماييد . + c:\>java Example پس از اجراي اين برنامه ، خروجي بصورت زير بنمايش درمي آيد : This is a simple Java program. هنگاميكه كد منبع جاوا كامپايل شود ، هر كلاس بتنهايي در فايل خروجي مخصوص خود كه فايل آن بعد از كلاس و پسوند class ذكر مي شود، قرار خواهد گرفت . بهمين دليل است كه بايد نام فايلهاي منبع جاوا را مطابق همان كلاسي كه آن را در بر مي گيرد انتخاب نمود تا نام فايل منبع با نام فايل class. مطابقت داشته باشد . وقتي كه مفسر جاوا را همانگونه كه نشان داديم اجرا مي كنيد ، شما در حقيقت نام كلاسي كه مايليد مفسر آن را اجرا كند ، مشخص مي نماييد . مفسر بطور خودكار به دنبال يك فايل مي گردد كه داراي پسوند class. باشد . اگر آن را پيدا كند ، كدي را كه در آن كلاس مشخص شده وجود دارد ، اجرا خواهد نمود . نگاهي دقيقتر به برنامه نمونه اول اگر چه عبارت Example jjava بسيار كوتاه است ، اما دربرگيرنده چندين جنبه كليدي است كه در همه برنامه هاي جاوا وجود خواهند داشت . اجازه دهيد تا هر يك از بخشهاي برنامه را با دقت بيشتري بررسي كنيم . برنامه با خط زير شروع مي شود : + /* + This is a simple Java program. + Call this file "Example .java". + /* اين يك " توضيح "(Comment() است . مثل بسياري از زبانهاي برنامه نويسي ،جاوا به شما امكان وارد نمودن يك ملاحظه (Remark) در فايل منبع برنامه را مي دهد . محتوي يك " توضيح " توسط كامپايلر ناديده گرفته خواهد شد . در عوض ، يك "توضيح " ، توصيف كننده يا شرح دهنده عملكرد برنامه است به هر كسي كه كد منبع را مطالعه نمايد . در اين مثال ، " توضيح " ، توصيف كننده برنامه بوده و بياد شما مي اندازد كه فايل منبع را بايدExample.java بناميد . البته ، در برنامه هاي واقعي ،" توضيحات " بطور كلي توصيف مي كنند كه چگونه برخي از بخشهاي يك برنامه كار كرده و يا اينكه يك جنبه خاص از برنامه چكاري انجام خواهد داد . جاوا از سه روش براي " توضيحات " پشتيباني مي كند. اول آن چيزي است كه بالاي برنامه مشاهده مي كنيد كه آن را توضيح چند خطي (multiline comment) مي گويند . اين نوع از " توضيح " بايد با علامت /* و با علامت */ پايان يابد . هر چيزي كه بين اين دو علامت قرار گيرد توسط كامپايلر ناديده گرفته خواهد شد . همانطوريكه از نام اين روش پيداست ، يك توضيح ، چند خطي ممكن است چندين خط دراز داشته باشد . خط بعدي كد برنامه بصورت زير مي باشد : + class Exaple { اين خط از واژه كليدي class استفاده مي كند تا اعلان نمايد كه يك كلاس جديد در حال تعريف شدن است . Example شناسه اي (identifier) است كه نام كلاس مي باشد. كل تعريف كلاس ، شامل : كليه اعضائ خود ، بين علامات ابروباز ({) و ابروبسته (}) قرار مي گيرد . استفاده از علامات فوق در جاوا مشابه روش استفاده از آنها در C و C++ است . فعلا" درباره جزئيات مربوط به يك كلاس نگران نباشيد مگر دقت به اينكه در جاوا ، كليه فعاليت برنامه اي داخل يك علامت اتفاق مي افتد . اين امر يكي از دلايلي است كه كليه برنامه هاي جاوا شي ئ گرا هستند . خط بعدي برنامه يك " توضيح يك خطي "(single-line comment() بصورت زير است : + // Your program begins with a call to main.)( اين نوع دوم " توضيحي " است كه توسط جاوا پشتيباني مي شود. يك توضيح يك خطي با علامت // شروع شده و در انتهاي خط پايان مي يابد . بعنوان يك قانون عمومي برنامه نويسان از توضيحات چند خطي براي ملاحظات طولاني تر و از توضيحات يك خطي براي توضيحات كوتاه و خط به خط استفاده مي كنند . خط بعدي كد بقرار زير مي باشد : + public static void main( String args [] ){ اين خط شروع كننده روش ()main است . همانطوريكه توضيح متعاقب آن پيشنهاد مي كند ، اين خطي است كه برنامه در آن شروع به اجرا مي نمايد . كليه برنامه هاي كاربردي جاوا با فراخواني ()main شروع به اجرا مي كنند. ( درست شبيه C++/C. ). معناي دقيق بخشهاي مختلف اين خط را فعلا" نمي توان توضيح داد ، زيرا درك آن مستلزم آگاهي از روش Java براي كپسول سازي است . اما از آنجاييكه اكثر مثالهاي موجود در بيشتر قسمتهاي اين بحث از اين خط از كط استفاده مي كنند ، بهتر است مرور كوتاهي بر بخشهاي مختلف آن داشته باشيم . واژه كليدي public يك توصيفگر دسترسي (access specifier) است كه به برنامه نويس امكان داده تا قابليت و سطح مشاهده اعضائ كلاس را كنترل نمايد . وقتي كه عبارت public قبل از يك عضو كلاس قرار مي گيرد ، آنگاه آن عضو را مي توان با كدهاي خارج از كلاس كه اعلان شده ، مورد دسترسي قرار داد . ( مخالف اين عبارت عبارت .private است كه از دسترسي به يك عضو توسط كدهاي تعريف شده در خارج كلاس جلوگيري مي نمايد . ) در اين حالت ()main بايد بعنوان public اعلام شود ، زيرا بايد توسط كدهاي خارج از كلاس هنگاميكه برنامه آغاز مي شود ، فراخواني شود . واژه كليدي Static به ()main امكان داده تا بدون معرفي شدن توسط يك كلاس نمونه فراخواني شود . اين امر ضروري است چون ()main قبل از اينكه هر يك از اشيائ ساخته شوند توسط مفسر جاوا فراخواني خواهد شد . واژه كليدي Void بسادگي به كامپايلر مي گويد كه ()main مقداري را بازگردان نمي كند . همانطوريكه خواهيد ديد ، ممكن است روشها (methods) نيز مقادير را بازگردان كنند . اگر اين مطالب تا حدي گيج كننده است ، نگران نباشيد . كليه اين مطالب با جزئيات بيشتري در قسمتهاي بعد بررسي خواهد شد . همانطوريكه بيان شده ()main روشي است كه هنگام شروع يك برنامه كاربردي جاوا فراخواني مي شود . بياد آوريد كه جاوا بسيار حساس نسبت به مورد است . بنابراين براي جاوا Mainو mainو دو مفهوم متفاوت دارند . نكته مهم اين است كه كامپايلر جاوا فقط كلاسهايي را كه شامل روش ()main نباشند ، كامپايل خواهد نمود . اما مفسر جاوا راهي براي اجراي اين كلاسها ندارد . بنابراين اگر بجاي main عبارت Mainرا تايپ كرده باشيد ، كامپايلر همچنان برنامه شما را كامپايل خواهد كرد . اما مفسر جاوا يك گزارش خطا مي دهد زيرا توانايي يافتن روش ()main را ندارد . اطلاعاتي كه لازم است به يك روش ارسال كنيد ، توسط متغيرهاي مشخص شده بين مجموعه پرانتزهايي كه بعد از نام روش قرار مي گيرند ، دريافت خواهد شد . اين متغيرها را پارامترها (parameters) مي نامند . اگر براي يك روش داده شده نياز به پارامتري نباشد ، از پرانتزهاي خالي استفاده مي كنيد . در حال حاضر ()main فقط يك پارامتر دارد ، كه البته بسيار پيچيده هم هست . String args [] يك پارامتر با نام args را اعلان ميكند كه يك آرايه از نمونه هاي string كلاس ميباشد. ( آرايه مجموعه اي از اشيائ مشابه هم هستند . ) اشيائ از نوع string ، رشته هاي كاراكترها را ذخيره مي كنند . در اين حالت ، args هر نوع آرگومان خط فرمان حاضر در هنگام اجراي برنامه را دريافت مي كند . اين برنامه از اين اطلاعات استفاده نمي كند ، اما برنامه هاي ديگر چنين استفاده اي را انجام مي دهند . آخرين كاراكتر روي خط ، علامت { است . اين علامت نشان دهنده شروع بدنه ()main است . تمامي كدهايي كه يك روش را تشكيل مي دهند بين ابرو باز و ابرو بسته همان روش قرار مي گيرند . يك نكته ديگر : ()main نقطه شروع بكار مفسر است . يك برنامه پيچيده شامل دهها كلاس است كه فقط يكي از آنها لازم است يك روش ()main داشته باشد تا كارها را شروع نمايد . هنگاميكه ريز برنامه ها (applets) برنامه هاي جاوا كه در مرورگرهاي وب تعبيه مي شوند را ايجاد مي كنيد ، بهيچوجه از ()main استفاده نخواهيد كرد، زيرا مرورگرهاي وب از وسائل متفاوتي براي شروع اجراي ريزبرنامه ها استفاده مي كنند . خط بعدي كد بقرار زير ميباشد. دقت كنيد كه اين خط داخل ()main قرار ميگيرد. + System.out.println("This is a simple Java program."); اين خط رشته "This is a simple Java program" را بعنوان خروجي ارائه مي دهد كه بعد از آن يك خط جديد روي صفحه ظاهر خواهد شد . خروجي بطور واقعي با روش توكار ()println همراه است . در اين حالت ، ()println نمايش دهنده رشته اي است كه در آن ثبت شده . خواهيد ديد كه از ()println براي نمايش ساير انواع اطلاعات نيز استفاده مي شود . خط بالا با system.out شروع مي شود . اگر چه در اين مرحله توضيح اين مطلب بسيار دشواراست ، اما بطور اختصار system يك كلاس از پيش تعريف شده است كه دسترسي به سيستم را فراهم آورده و out نيز جريان خروجي است كه به كنسول (console) مرتبط شده است . همانطوريكه احتمالا" حدس زده ايد ، خروجي ( و نيز ورودي ) كنسول بندرت در برنامه ها و ريز برنامه هاي جاوا مورد استفاده قرار مي گيرند . از آنجاييكه اكثر محيط هاي جديد كامپيوتري داراي طبيعت پنجره اي و گرافيكي هستند ، كنسول l/o اكثرا" براي برنامه هاي كمكي ساده و برنامه هاي نمايشي استفاده مي شود . بعدا" شيوه هاي ديگري براي ايجاد خروجي با استفاده از جاوا ر خواهيد آموخت . اما فعلا" ما استفاده از روشهاي l/o كنسول را ادامه مي دهيم . دقت كنيد كه ()println با يك علامت ويرگول نقطه (;)(semicolon) پايان ميگيرد. كليه دستورات (statements) در جاوا با همين علامت پايان مي گيرند . دليل اينكه ساير خطوط برنامه با اين علامت پايان نمي گيرند اين است كه آنها را از نظر ند استفاده از پرانتزها پرانتزها حق تقدم عملياتي را كه دربرگرفته اند ، افزايش مي دهند . اينكار اغلب براي نگهداري نتيجه دلخواهتان ضروري است . بعنوان مثال ، عبارت زير را در نظر بگيريد : + a >> b + 3 اين عبارت ابتدا 3 را به b اضافه نموده و سپس a را مطابق آن نتيجه بطرف راست حركت مي دهد.اين عبارت رامي توان با استفاده از پرانتزهاي اضافي بصورت زير دوباره نويسي نمود : + a >>( b + 3) اما ، اگر بخواهيد ابتدا a را با مكانهاي b بطرف راست حركت داده و سپس 3 را به نتيجه آن اضافه كنيد ، بايد عبارت را بصورت زير در پرانتز قرار دهيد : +( a >> b )+ 3 علاوه بر تغيير حق تقدم عادي يك عملگر ، پرانتزها را مي توان گاهي براي روشن نمودن مفهوم يك عبارت نيز بكار برد . براي هر كسي كه كد شما را مي خواند، درك يك عبارت پيچيده بسيار مشكل است . اضافه نمودن پرانتزهاي اضافي و روشنگر به عبارات پيچيده مي تواند از ابهامات بعدي جلوگيري نمايد. بعنوان مثال ، كداميك از عبارات زير راحت تر خوانده و درك مي شوند ؟ + a | 4 + c >> b & 7 || b > a % 3 +( a |((( 4 + c )>> b )& 7 ))||( b >( a % 3)) يك نكته ديگر : پرانتزها ( بطور كلي خواه اضافي باشند يا نه ) سطح عملكرد برنامه شما را كاهش نمي دهند. بنابراين ، اضافه كردن پرانتزها براي كاهش ابهام نفي روي برنامه شما نخواهد داشت عملگرهاي رابطه اي اين عملگرها تعيين كننده رابطه ها بين يك عملوند با عملوند ديگر هستند. بطور مشخص ، آنها تساوي يا ترتيب بندي (ordering) را معين ميكنند. عملگرهاي رابطه اي را در زير نشان داده ايم : نتيجه آن عملگر مساوي با == نامساوي با != >بزرگتر از <كوچكتر از بزرگتر از يا مساوي با = > كوچكتر از يا مساوي با = < حاصل اين عمليات يك مقدار boolean است . از عملگرهاي رابطه اي بخصوص در عباراتي كه دستور if و انواع دستورات حلقه اي را كنترل مي كنند ، زياد استفاده مي شوند . هر نوعي در جاوا شامل اعداد صحيح ، ارقام اعشاري ، كاراكترها و عبارات بولي را مي توان بوسيله آزمون تساوي == و آزمون عدم تساوي != مقايسه نمود . دقت نماييد كه در جاوا ( نظير Cو C++و ) تساوي توسط دو علامت تساوي و نه يك علامت نشان داده مي شود . ( بياد آوريد كه علامت تكي تساوي يك عملگر انتساب است . ) عملگرهاي ترتيب بندي فقط براي مقايسه انواع عددي بكار مي روند . يعني فقط عملوندهاي اعداد صحيح ، اعداد اعشاري و كاراكترها را مي توان مقايسه نمود و و تعيين كرد كه كداميك از ديگري بزرگتر يا كوچكتر است . گفتيم كه نتيجه توليد شده توسط يك عملگر رابطه اي ، يك مقدار boolean است . بعنوان مثال ، كد قطعه اي زير كاملا" معتبر است : + int a = 4; + int b = 1; + boolean c = a < b; در اين حالت ، جواب b اگر سابق برنامه نويسي C++/C داريد ، به نكته زير توجه نماييد . در C++/C اين نوع از دستورات بسيار رايج است . + int done; + //... + if(!done ... )// Valid in C/C++ + if(done ... )// but not in Java. در جاوا ، آن دستورات بايد بصورت زير دوباره نويسي شوند : + if(done == 0 ... )// This is Java-style. + if(done != 0... ) علت آن است كه در جاوا صحيح و ناصحيح (true and false) مشابه C++/C تعريف نشده است . در C++/C صحيح هر مقدار غير صفر و ناصحيح معادل صفر است . در جاوا trueو falseو مقادير غيرعادي هستند كه ربطي با صفر يا غيرصفر ندارند. بنابراين براي آزمون صفر و غير صفر، بايد بطور صريح يك يا چند عملگر رابطه اي را استخدام کرد . عملگر انتساب The Assignment Operator عملگر انتساب علامت تكي تساوي = مي باشد . عملگر انتساب در جاوا مشابه ساير زبانهاي برنامه نويسي كار مي كند . شكل كلي آن بصورت زير است : Var = expression; عبارت متغير در اينجا نوع var ( متغير ) بايد با نوع experssion ( عبارت ) سازگار باشد. عملگر انتساب يك خصلت جالب دارد كه ممكن است با آن آشنايي نداشته باشيد : به شما امكان مي دهد تا زنجيره اي از انتسابها بوجود آوريد . بعنوان مثال ، اين قطعه از يك برنامه را در نظر بگيريد : + int x/ y/ z; + + x = y = z = 100; // set x/ y/ and z to 100 اين قطعه از برنامه مقدار 100 را با استفاده از يك دستور در متغيرهاي x، y، و z قرار مي دهد . زيرا = عملگري است كه مقدار عبارت سمت راست را جذب مي كند . بنابراين مقدار Z=100 برابر 100 است كه اين مقدار به y منتسب شده و نيز به x منتسب خواهد شد . استفاده از " زنجيره اي از انتسابها " يك راه آسان براي قرار ادن يك مقدار مشترك در گروهي از متغيرهاست دریم ویور : رویاباف طراحان وب نام این نرم افزار به معنای رویاباف میباشد ، البته از نظر من ماکرومدیا در این مورد اصلا اقراق نکرده است . چون کار این نرم افزار آنچنان ظریف و استثنایی است که جز در رویای شما قابل تصور نیست . در این مقاله در مورد قابلیتهای نرم افزار Dreamweaver صحبت خواهد شد . عملگرهاي رابطه اي اين عملگرها تعيين كننده رابطه ها بين يك عملوند با عملوند ديگر هستند. بطور مشخص ، آنها تساوي يا ترتيب بندي (ordering) را معين ميكنند. عملگرهاي رابطه اي را در زير نشان داده ايم : نتيجه آن عملگر مساوي با == نامساوي با != >بزرگتر از <كوچكتر از بزرگتر از يا مساوي با = > كوچكتر از يا مساوي با = < حاصل اين عمليات يك مقدار boolean است . از عملگرهاي رابطه اي بخصوص در عباراتي كه دستور if و انواع دستورات حلقه اي را كنترل مي كنند ، زياد استفاده مي شوند . هر نوعي در جاوا شامل اعداد صحيح ، ارقام اعشاري ، كاراكترها و عبارات بولي را مي توان بوسيله آزمون تساوي == و آزمون عدم تساوي != مقايسه نمود . دقت نماييد كه در جاوا ( نظير Cو C++و ) تساوي توسط دو علامت تساوي و نه يك علامت نشان داده مي شود . ( بياد آوريد كه علامت تكي تساوي يك عملگر انتساب است . ) عملگرهاي ترتيب بندي فقط براي مقايسه انواع عددي بكار مي روند . يعني فقط عملوندهاي اعداد صحيح ، اعداد اعشاري و كاراكترها را مي توان مقايسه نمود و و تعيين كرد كه كداميك از ديگري بزرگتر يا كوچكتر است . گفتيم كه نتيجه توليد شده توسط يك عملگر رابطه اي ، يك مقدار boolean است . بعنوان مثال ، كد قطعه اي زير كاملا" معتبر است : + int a = 4; + int b = 1; + boolean c = a < b; در اين حالت ، جواب b اگر سابق برنامه نويسي C++/C داريد ، به نكته زير توجه نماييد . در C++/C اين نوع از دستورات بسيار رايج است . + int done; + //... + if(!done ... )// Valid in C/C++ + if(done ... )// but not in Java. در جاوا ، آن دستورات بايد بصورت زير دوباره نويسي شوند : + if(done == 0 ... )// This is Java-style. + if(done != 0... ) علت آن است كه در جاوا صحيح و ناصحيح (true and false) مشابه C++/C تعريف نشده است . در C++/C صحيح هر مقدار غير صفر و ناصحيح معادل صفر است . در جاوا trueو falseو مقادير غيرعادي هستند كه ربطي با صفر يا غيرصفر ندارند. بنابراين براي آزمون صفر و غير صفر، بايد بطور صريح يك يا چند عملگر رابطه اي را استخدام کرد . عملگر انتساب The Assignment Operator عملگر انتساب علامت تكي تساوي = مي باشد . عملگر انتساب در جاوا مشابه ساير زبانهاي برنامه نويسي كار مي كند . شكل كلي آن بصورت زير است : Var = expression; عبارت متغير در اينجا نوع var ( متغير ) بايد با نوع experssion ( عبارت ) سازگار باشد. عملگر انتساب يك خصلت جالب دارد كه ممكن است با آن آشنايي نداشته باشيد : به شما امكان مي دهد تا زنجيره اي از انتسابها بوجود آوريد . بعنوان مثال ، اين قطعه از يك برنامه را در نظر بگيريد : + int x/ y/ z; + + x = y = z = 100; // set x/ y/ and z to 100 اين قطعه از برنامه مقدار 100 را با استفاده از يك دستور در متغيرهاي x، y، و z قرار مي دهد . زيرا = عملگري است كه مقدار عبارت سمت راست را جذب مي كند . بنابراين مقدار Z=100 برابر 100 است كه اين مقدار به y منتسب شده و نيز به x منتسب خواهد شد . استفاده از " زنجيره اي از انتسابها " يك راه آسان براي قرار ادن يك مقدار مشترك در گروهي از متغيرهاست دریم ویور : رویاباف طراحان وب
نام این نرم افزار به معنای رویاباف میباشد ، البته از نظر من ماکرومدیا در این مورد اصلا اقراق نکرده است . چون کار این نرم افزار آنچنان ظریف و استثنایی است که جز در رویای شما قابل تصور نیست . در این مقاله در مورد قابلیتهای نرم افزار Dreamweaver صحبت خواهد شد .