آموزش برنامه نویسی اپلیکیشنآموزش جاوا اسکریپتدوره های آموزشی
موضوعات داغ
همانطور که میدانید در دنیای برنامه نویسی همانند دنیای واقعی، با زبانهای بسیاری روبرو هستیم که هر کدام مزایا و معایب خاص خود را دارند. اگر به ساختن یک اپلیکیشن علاقمند هستید قبل از هرچیز باید با زبان های کاربردی در این زمینه آشنایی پیدا کنید . بنابراین ، در این مقاله سعی داریم محبوبترین زبانهای این حوزه را به شما معرفی کنیم.
نکتهای که در خصوص تمام زبان های برنامه نویسی وجود دارد این است که همهی آنها منطق یکسانی دارند، تنها چیزی که در آنها متفاوت است، شکل نوشتار آنها میباشد. اگر شما منطق کلی برنامه نویسی را درک کرده باشید، یادگیری زبان های برنامه نویسی مختلف، برای شما زحمت زیادی نخواهد داشت .
در ابتدای کار بهتر است با یک سری اصطلاحات یا به عبارتی ویژگی های برنامه نویسی آشنا بشیم.
در زبانهای مفسری (Interpreted) سورس کد به صورت خط به خط تفسیر میشود یعنی پس از تفسیر و اجرای خط اول به خط دوم می رود که این روند باعث کند شدن پروسه اجرا میشود. این زبانها برعکس زبان کامپایلری به سیستمعامل وابسته نیستند چرا که به صورت همزمان و از طریق مفسر، اجرا میشوند.
اجازه دهید کمی بیشتر و تخصصیتر در این باره توضیح دهیم. در زبانهای کامپایل شده تمام سورس کدها به یکباره کامپایل (ترجمه) شده و به صورت کامل پردازش و اجرا میشوند. خروجی ای که کامپایلر در اختیار شما قرار میدهد یک فایل کامپایل شده برای سیستمعامل مورد نظر شما است که هیچ وابستگی به کدهای نوشته شده ندارند. در واقع زبانهای کامپایلری به سیستمعامل وابسته هستند و امکان استفاده از کدهای کامپایل شده بر روی سیستمعامل دیگری وجود ندارد.
شی گرایی یک الگو و شیوه تفکر در برنامه نویسی است. رویکرد برنامه نویسی شی گرا از جزء به کل یا پایین به بالا است (Bottom-Up). یعنی در ابتدا واحدهای کوچکی از برنامه ایجاد میشوند و با پیوند این واحدهای کوچک به یکدیگر، واحدهای بزرگتر شکل میگیرند و به همین ترتیب برنامه کاملتر میشود. برنامه نویسی شی گرا دو مفهوم کلاس (Class) و شی (Object) را ارائه میدهد.شی گرایی در برنامه نویسی میتواند مشکلات زیادی را برای شما حل کند و باعث سادهتر شدن فرآیند کدنویسی شود. از آنجایی که مفاهیم شی گرایی به شدت به دنیای واقعی نزدیک است، درک آن برای برنامه نویس آسان خواهد بود. در شی گرایی برخلاف روشهای کدنویسی دیگر، به جای دست و پنجه نرمکردن با تعداد زیادی متغیر و توابع، مستقیما با اشیا (Objects) کار میکنید. برای درک بهتر این موضوع بهتر است با مثالی این مطلب را توضیح دهیم.کارگاهی را در نظر بگیرید که دارای دستگاههای تولیدی مختلف است. این کارگاه را میتوان به عنوان یک کلاس در نظر گرفت. هر یک از این دستگاهها محصول متفاوتی تولید میکنند که میتوان آنها را به عنوان شی در نظر گرفت. اگر برای محصولات مشکلی پیش بیاید یا اگر بخواهیم تغییر در آنها ایجاد کنیم نیازی به تخریب و از نو ساختن کارگاه نیست.به عنوان مثال اگر محصول خروجی کیک باشد، زمانیکه بخواهیم کیک شیرینتری داشته باشیم لازم نیست تغییری در کارگاه یا دستگاهها ایجاد کنیم، کافیست کمی شکر به خمیر کیک اضافه کنیم. این دقیقا همان اتفاقی است که در برنامه نویسی شی گرا میافتد.
حال به سراغ پر طرفدارترین زبان های مناسب برای ساخت برنامه های کاربردی میرویم.
جاوا JAVA يک زبان برنامه نويسي است که درسال 1994 توسط يکي از مهندسين شرکت سان (sun) به نام جيمز گوسلينگ نوشته شد، جيمز از نوشتن برنامه با ++C خسته شده بود و جاوا را براي رفع نيازهاي خود طراحي کرد. مثل لينوکس ترودلز که لينوکس (Linux) را براي استفاده خود پديد آورد.
جيمز ابتدا نام اين برنامه را oak گذاشت. در آنزمان شرکت sun از توسعه oak منصرف شد ولي با پيشرفت و گسترش اينترنت و مشخص شدن قابليت هاي برنامه و تطابق بعضي ويژگي هاي آن با نيازهاي اينترنت شرکت sun پروژه oak را فعال نمود و نام جاوا را براي آن برگزيد.
نام جاوا از Just Another Vague Acronym گرفته شده است و دليل آن اين بود که تيم برنامه نويسان جاوا به قهوه خيلي علاقه داشتند. اين موضوع در لوگوي جاوا هم مشهود است!!
نگارش نسخه اول جاوا در سال 95 آغاز شد و در سال 97 نسخه 1/1 و در سال 98 نسخه 1/2 به بازار ارايه شد. البته تا کنون نسخه هاي متفاوت با قابليت هاي متفاوت به بازار ارايه شده است. جاوا زبان مادر براي سيستم عامل سولاريس است، مثل بيسيک براي سيستم عامل ويندوز و زبان سي براي يونيکس.
مهم ترين ويژگي جاوا اين است که اساسا شي گراست به اين معني که توانايي استفاده مجدد و مکرر از کدهاي از پيش نوشته شده را دارد.
ويژگي ديگر جاوا اين است که بر روي سيستم هاي مختلف کار مي کند مثلا برنامه اي که شما با يک سيستم اينتل نوشته ايد به راحتي روي يک سيستم مکينتاش و يونيکس اجرا مي شود و اين عامل اصلي موفقيت جاوا است.
سادگي، قابل انتقال بودن، کارايي بالا، استحکام، پويايي و ايمني بالا از ديگر قابليت جاوا است.
کاتلین در سال ۲۰۱۱ توسط کمپانی Jetbrains معرفی شد و اولین ورژن پایدار(Stable) آن در سال ۲۰۱۶ به نام ورژن 1.0 ارائه شد.
سرپرست تیم توسعه دهندگان کاتلین Andrey Breslav بیان داشته که کاتلین یک زبان قدرتمند و شیءگرا است که قصد دارد از جاوا بهتر عمل کند و به برنامه نویسان جاوا اجازه مهاجرت تدریجی به این زبان را بدهد.
در سال ۲۰۱۷ گوگل رسما این زبان را به عنوان زبان دوم برنامه نویسی برای اندروید معرفی کرد.
کاتلین به عنوان یک زبان برنامهنویسی، شباهتهای زیادی به ساختار جاوا دارد و کامل شیءگرا است و برای موضوعاتی مشابه مسائل جاوا طراحی شده است. اما از آنجایی که در بسیاری از روشها ظاهری ساده دارد، میتوان از قابلیتهای بسیار زیاد آن بهره گرفت.همانگونه که اشاره کردیم، میزان استقبال از کاتلین متوقف نخواهد شد. مزیت عمده کاتلین نسبت به جاوا در تعداد خطوط کدنویسی است که به شکل چشمگیری کمتر هستند. کامپایلر آن نیز بهطور خودکار قادر است فرآیند استنتاج نوع متغیرها را به خوبی انجام دهد که همین موضوع به میزان قابل توجهی از اتلاف وقت صرفهجویی کرده و بهرهوری را افزایش میدهد. دهها منبع مفید برای یادگیری کاتلین روی بستر اینترنت قرار دارند که شما میتوانید از آنها برای یادگیری این زبان استفاده کنید.
زبان برنامه نویسی Objective-C را می توان به عنوان زبان اصلی اپل برای طراحی اپلیکیشن IOS معرفی کرد. این زبان در سال 1984 توسط آقایان Brad Cox و Tom Love منتشر شد. زبان برنامه نویسی Objective-C در واقع به صورت یک لایهٔ بسیار نازک روی زبان C پیاده سازی شده است.
Objective-C یک زبان شیگرا است که با اضافه کردن مفاهیم ارسال پیام از زبان small tak به زبان C شکل گرفت و بیشترین کاربرد آن در محیطهای Mac OS X و iPhone OS است. برخی از مزایای زبان برنامه نویسی Objective-C عبارتند از:
سازگار با زبان های C و C++
یادگیری، اجرا و توسعه آسان
یادگیری زبان برنامه نویسی آبجکتیو سی زیاد سخت نیست و به راحتی میتوانید هر نوع اپلیکیشنی در آن ایجاد کنید و میتوان گفت در حوزه برنامه نویسی موبایل جز زبان های قدرتمند می باشد و همچنان ارزش وقت گذاشتن برای یادگیری دارد.
قبل از بوجود آمدن زبان برنامه نویسی سوئیفت، آبجکتیو سی هسته اصلی تولید نرم افزارهای مناسب برای APPLE ، iOS و OS X بود و پس از آنکه سوییفت ابداع شد برنامه نویسی برای عاشقان این حوزه راحتر شد و کاربردیتر شد.
سوئیفت برای توسعهٔ سیستم عامل های ارائه شده توسط اپل به کار میرود. یکی از پرکاربردترین سیستم های در حال توسعه با این زبان آی او اس است که بر روی آیفون های اپل در حال کار هستند.سوئیفت از پنج سطح مربوط به کنترل دسترسی برای نمادها پشتیبانی می کند: باز ، عمومی ، داخلی ، خصوصی و پوشه خصوصی. برخلاف بسیاری از زبانهای شی گرا ، این کنترل های دسترسی، سلسله مراتب پیدایش را نادیده می گیرند.
جاوا اسکریپت بر خلاف تشابه اسمی که با زبان برنامه نویسی جاوا دارد یک زبان کاملا مستقل و چند الگویی است و از آن برای طراحی اپلیکیشن آی او اس می توان بهره برد. از ویژگی های خوب این زبان این است که با یک بار کد نویسی می توان آن را در تمامی پلتفرم ها اجرا کرد و نیاز به کد نویسی به صورت مجزا ندارد. از دیگر مزایای آن میتوان به این نکات اشاره کرد که:
برای پردازش و اجرا به کامپایلر احتیاجی ندارد.
یادگیری جاوا اسکریپت نسبت به خیلی از زبانهای برنامه نویسی راحتتر است.
به صورت کراس پلتفورم روی مرورگرها یا پلتفرمهای مختلف اجرا میشود.
نسبت به زبانهای برنامه نویسی دیگر سبکتر و سریعتر است.
فریم ورک ها،کتابخانهها و به صورت کلی ابزارهای بسیار زیادی را در اختیارتان قرار میدهد.
زبان بومی مرورگر وب است و در مرورگر کاربران پردازش میشود.
امکان ایجاد صفحات وب تعاملی و پویا را به برنامه نویسان میدهد.
در جواب عمل کاربران، عکس العمل نشان میدهد.
برای پردازش و اجرا به کامپایلر احتیاجی ندارد.
یادگیری جاوا اسکریپت نسبت به خیلی از زبانهای برنامه نویسی راحتتر است.
به صورت کراس پلتفورم روی مرورگرها یا پلتفرمهای مختلف اجرا میشود.
نسبت به زبانهای برنامه نویسی دیگر سبکتر و سریعتر است.
فریم ورک ها،کتابخانهها و به صورت کلی ابزارهای بسیار زیادی را در اختیارتان قرار میدهد.
زبان بومی مرورگر وب است و در مرورگر کاربران پردازش میشود.
امکان ایجاد صفحات وب تعاملی و پویا را به برنامه نویسان میدهد.
در جواب عمل کاربران، عکس العمل نشان میدهد.
در نتیجه بهتر است بدانید که اگر واقعا علاقه مند به داشتن اپلیکیشن مخصوص کسب و کار خودتان هستید و فکر میکنید واقعا به این موضوع علاقمند هستید، یادگیری هیچکدام از این زبان های برنامه نویسی برایتان دشوار نخواهد بود. با توجه به نیاز و علاقه خودتان میتوانید هر کدام از آنها را با تمرین مستمر یاد بگیرید.