سافت گذر دانشنامه نرم افزار - دانلود رایگان نرم افزار

اطلاعیه های مهم سایت اطلاعیه های مهم سایت
💐 میلاد زینت پدر حضرت زینب سلام الله علیها مبارک باد 💐
 
 
  1. جهت رفع مشکل باز شدن سایت به دلیل بلاک توسط  نود 32 این ویدیو یا این ویدیو(ورژن 9 به بالا) یا راهنمای تصویری را مشاهده کنید
  2. به مناسبت عید غدیر، در سایت https://esetupdate.ir/ تخفیف ویژه‌ای برای محصولات در نظر گرفته شده است؛ فرصت را از دست ندهید. 🌸
  3. اکانت های بروزرسانی نود32 با قیمت های مناسب به صورت یک ، سه ، شش و دوازده ماهه از اینجا قابل خرید می باشد.

نرم افزار های پرکاربرد

ثبت نام | ورود

اخبار آموزشی

با SWIFT، زبان برنامه نویسی تازه اپل بیشتر آشنا شوید

به گزارش سافت گذر به نقل اززومیت؛ یکی از بزرگترین اتفاق‌های چندساله‌ی کنفرانس توسعه‌دهندگان اپل در سال 2014 را می‌توان معرفی زبان برنامه نویسی تازه SWIFT دانست.  زبانی که در کنار امکانات تازه  سیستم‌عامل iOS، دست برنامه‌نویسان و توسعه‌دهندگان بزرگ و کوچک را در خلق اپلیکیشن‌هایی متفاوت و کاربردی‌تر باز می‌گذارد. با ما برای آشنایی بیشتر با این زبان برنامه نویسی و امکاناتی که برای توسعه‌دهندگان همراه می‌آورد، همراه شوید. 

همانطور که از نام کنفرانس WWDC و کلمه D آن می‌توان پی برد، این کنفرانس تنها برای توسعه‌دهندگان و معرفی امکانات تازه برای کدنویس‌ها و آن‌هایی که به تلفن‌های هوشمند ارزش حقیقی می‌بخشند، برگزار می‌گردد؛ نه کاربران تشنه سخت افزار! بنابراین تعجبی ندارد که بسیاری از کاربران دنیای وب، بخاطر عدم معرفی آیفون جدید یا iWatch، کنفرانس توسعه‌دهندگان امسال اپل به مذاقشان چندان خوش نیامده باشد. هر چند که این مراسم یکی از بهترین کنفرانس‌های اپل برای توسعه‌دهندگان در چند سال اخیر به شمار می‌رود. 

مهم‌ترین و جذاب ترین بخش کنفرانس امسال WWDC را سوای امکانات iOS 8، در زبان برنامه نویسی تازه اپل می‌توان جستحو نمود. زبان برنامه نویسی که نوشتن و ساخت اپلیکیشن‌ها را آسان‌تر می‌سازد و به برنامه نویسان قدرت تولید اپلیکیشن‌هایی با کاربرد ییشتر ضمن  راحتی و سرعت بالاتر را فراهم می‌آورد. 

قبل از آنکه بیشتر با زبان برنامه نویسی SWIFT آشنا شویم، بهتر است تا نگاهی به انواع زبان‌های برنامه‌نویسی داشته باشیم. 

انواع زبان‌های  برنامه نویسی:

زبان‌های برنامه نویسی چه برای کامپیوترها باشند چه برای اپلیکیشن‌های تلفن‌های هوشمند، دو نوع اصلی دارند: زبان‌های سطح پایین، زبا‌ن‌های سطح بالا!

swift-c

زبان‌های برنامه‌نویسی سطح پایین: 

اگر با برنامه‌نویسی آشنا باشید، راه‌های زیادی برای اینکه دیوایستان را وادار کنید تا کارهای مورد علاقه‌تان را انجام دهد، وجود دارد. اما وادار‌کردن دیوایس‌ها به انجام دستورات شما و در واقع بهتر است بگوییم فهماندن دستوراتتان به دیوایس‌ها نیازمند کد‌نویسی است. این کد نویسی می‌تواند به کمک زبان‌های سطح پایین یا سطح بالا صورت بگیرد. می‌تواند به کمک زبان‌هایی که در آن توسط بایت‌ها و اسمبلر‌ها صحبت می‌شود،  باشد و شما را وادار سازد تا خط به خط را به نوشته و به زبان کامپیوتر ترجمه کنید! مثلاً در کدام لحظه کدام پیکسل خاموش شود، کدام شماره در حافظه تغییر پیدا کند و ...‍! البته برنامه‌نویسان قدرتمند، توانایی اجرا و خلق اپلیکیشن‌های قدرتمندی را با کمک همین خط به خط‌های پیچیده دارند؛ اما همانطور که از توضیحات گذشته‌مان بر می‌آید نوشتن یک برنامه به این شیوه‌ی کاری سخت و طاقت فرساست و البته زمان و انرژی زیادی را از برنامه‌نویس‌ها تلف می‌کند.

اینجاست که زبان‌های برنامه‌نویسی سطح بالا به کمک توسعه‌دهندگان می‌آیند...

زبان‌های برنامه نویسی سطح‌بالا 

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

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

حالا می‌خواهیم تفاوت بین زبان‌های برنامه‌نویسی سطح بالا و سطح پایین را در یک مثال روزمره بهتر برایتان توجیه و تفسیر کنیم. تصور کنید که از فردی می‌خواهید تا برایتان  کار ساده‌ای همچون خرید یک نوشابه از مغازه را انجام دهد. در زبان برنامه‌نویسی سطح بالا می‌توانید بگویید: «برو و از مغازه، برای من یک عدد نوشابه بخر.» اما در زبان سطح پایین همین دستور راباید بدین شکل بگویید:« دو تا پاهایت را بر روی زمین بگذار، از دست‌هایت برای بلند‌شدن از زمین کمک بگیر؛ پای راست را انتخاب کن، اندکی آن را جلوتر از پای چپ قرار بده و ...» بدین ترتیب برای اجرای یک دستور ساده ناچار هستید تا ده‌ها دستور دیگر را به زبان کامپیوتر ترجمه کنید تا به هدف نهایی خود دست پیدا نمایید. 

progLanguages

 زبان برنامه‌نویسی C، یکی از همین زبان‌های برنامه‌نویسی سطح بالاست. Objective C نیز که یکی دیگر از  زبان‌ها بر پایه C محسوب می‌گردد، تا به امروز به عنوان انتخاب اصلی اپل در زبان اصلی برنامه‌نویسی برای اپلیکیشن‌های مخصوص محصولات این شرکت محسوب می‌شد. حالا جالب اینجاست که زبان برنامه‌نویسی C بیشتر از 40 سال و Objective C  بیشتر از 30 سال عمر دارند. به همین دلیل است که به نظر می‌آید دیگر زمان ظهور یک زبان نو فرارسیده باشد. 

حالا در کنار این زبان‌های برنامه نویسی، زیر مجموعه‌ای به نام «Scripting» وجود دارد که وظیفه‌اش را هر چند توضیح آن چندان ساده نیست، ولی  در ادامه با صرف نظر از توضیحات پیچیده برایتان شرح می‌دهیم. 

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

به دلایلی که بدان‌ها اشاره شد، حذف فرآیند کامپایل می‌تواند نقش بسیار بالای در افزایش سرعت تولید اپلیکیشن‌ها داشته باشد. حالا زبان‌های برنامه نویسی Scripting می‌توانند خط به خط فرمان‌های شما را همزمان اجرا کنند. بدین ترتیب شما می‌توانید نتیجه کارهایتان را همزمان مشاهده نمایید و بدین ترتیب سرعت تولید اپلیکیشن‌ها نیز به طور قابل توجهی افزایش پیدا می‌کند. اما این تنها روی خوش قضیه است. در طرف بد قضیه زبان‌های اسکریپتینگ قابلیت‌های محدودی دارند و معمولاً برای کارهای ساده مورد استفاده قرار می‌گیرند. بنابراین نمی‌توان از آن‌ها در بسیاری از پروژه‌ها استفاده نمود. 

نمونه‌ی بارز این نوع زبان‌ها، Python است که برنامه‌نویس‌های موبایل با آن آشنایی کافی دارند و از قضا اپل در کنفرانس امسالش، با زبان برنامه نویسی خود مقایسه نموده است. 

زبان برنامه نویسی SWIFT: 

آیا SWIFT مجموعه‌ای کامل از مهمترین و بهترین نیازهای یک زبان برنامه‌نویسی است  و جنبه‌های مثبتی را که در بالا بدان اشاره کردیم را در بر می‌گیرد؟ پاسخ این سؤال هنوز قطعی نیست؛ ولی  به زودی با نقدهای برنامه‌نویس‌هایی که با آن کار می‌کنند، به پاسخ آن خواهیم رسید. 

paintcode swift

زبان‌های اسکریپتینگ، همچون Python طراحی شده‌اند تا با آن‌ها برنامه نویسی آسان‌تر باشد و همچنین تست و اجرای برنامه‌ها نیز ساده‌تر صورت بپذیرد؛ اما این زبان‌ها ایده‌آل نیستند و نمی‌توان از آن‌ها در اپلیکیشن‌های بزرگ یا مثلاً بازی که از تمام قدرت تلفن‌هوشمند شما استفاده می‌کند، بهره‌‌مند شد. در طرف دیگر زبان‌های برنامه‌نویسی سنتی همچون C Objective دست شما را برای استفاده از تمامی توان دستگاه بازتر می‌گذارند و شما بهتر می‌توانید اپلیکیشن‌های خود را مدیریت نمایید؛ ولی مشکلات آن‌ها به مواردی همچون یادگیری سخت و مراحل طاقت‌فرسای کامپایل  و تست اپلیکیشن باز می‌گردد. 

اما در این بین، SWIFT قول می‌دهد که تمام خوبی‌های لازم را داشته باشد و در آن خبری از نقطه بد نباشد! این وعده اپل به برنامه‌نویس‌هاست وشواهد اثبات آن را می‌توان در نتایج بنچمارک‌هایی که نشان از سرعت بیشتر این زبان برنامه‌نویسی نسبت به C Objective و Phyton داشت، جستجو کرد. 

ولی وجه تمایز اصلی SWIFT در قابلیتی با نام playgrounds نهفته است. قابلتی که برنامه نویس‌ها در محیط کاربری Xcode اجازه می‌دهد تا تیجه و حاصل کدهایشان را به صورت ریل‌تایم یا همزمان مشاهده کنند، درست مانند یک زبان برنامه نویسی اسکریپت!

swift-screenshot

برای مثال، اگر بخواهید یک بازی بنویسید که در آن یک بالون در یک آسمان آبی به پرواز در بیاید. برای این کار در زبان برنامه نویسی SWIFT تنها باید یک تابع ریاضی ساده بنویسید که در آن پترن مورد نظرتان جهت حرکت بالون مشخص شده باشد. همچنین می‌توانید نتیجه کارهایتان را همان لحظه و بدون نیاز به کامپایل‌کردن کدها، به صورت زنده مشاهده کنید و اگر جایی نیاز به نغییر یا اصلاح داشت، همان لحظه دست به تغییرات مورد نظرتان بزنید. 

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

سرعت‌بخشیدن به فرآیند برنامه‌نویسی:‌

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

به علاوه، سوئیفت زبان برنامه‌نویسی ساده‌ای است! درست مثل زبان برنامه‌نویسی Python، شما برای اجرای بسیاری از فرامین نیازی نیست که ده‌ها خط کد بنویسید. بدین‌ترتیب تولید اپلیکیشن‌ها باز هم سرعت بیشتری به خود می‌گیرند. 

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

جنبه‌های منفی: 

اما تمامی صحبت‌های بالا تنها یک روی مثبت قضیه محسوب می‌شوند. روی منفی این موضوع را می‌توان در نیاز به یادگیری یک زبان کاملاً جدید برای برنامه‌نویس‌ها دانست. هر چند توسعه‌دهندگان، بدون شک علاقمند به یادگیری و نمایش تبحر خود در زبان‌های جدید دارند؛ اما آن موقع تنها یک زبان برنامه‌نویسی برای آیفون وجود خواهد داشت که برنامه‌نویسی که در این حوزه قصد فعالیت داشته باشد ناچار است تا آن را فرا بگیرد. البته شما هنوز هم می‌توانید با زبان C Objective برنامه‌های خود را بسازید؛ ولی در آینده‌ای نزدیک احتمال اینکه دیگر کسی حتی به برنامه‌های شما نگاهی نیندازد، کم نیست.

img 0258

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

نتیجه‌گیری: 

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

در مجموع، اپل همیشه در کنفرانس‌هایش با ارائه بنچمارک‌ها و مقایسه‌های بسیار، سعی در نمایش بهترین و مثبت‌ترین حالت از محصولات خود را دارد. اما این بار با یک تغییری به بزرگی زبان برنامه‌نویسی اپلیکیشن‌ها روبرو هستیم. تغییری که جهشی بزرگ محسوب می‌شود و می‌تواند اثرات سوء یا مثبت بسیاری به همراه داشته باشد.

در حال حاضر، هنوز برای قضاوت در مورد اثر این تغییر، اندکی زودهنگام است و باید منتظر نظر برنامه‌نویسان و توسعه‌دهندگان در آزمایش آن باشیم.

نظرتان را ثبت کنید کد خبر: 21038 گروه خبری: اخبار آموزشی منبع خبر: zoomit.ir تاریخ خبر: 1393/03/22 تعداد مشاهده: 2519
اخبار مرتبط با این خبر
نظر های کاربران
سرور آپدیت نود 32
پیشنهاد سافت گذر
سخنرانی رائفی پور درباره تحلیل مسائل سیاسی

سخنرانی رائفی پور درباره تحلیل مسائل سیاسی

سخنرانی رائفی

Snow Moto Racing Freedom

Snow Moto Racing Freedom

شبیه ساز موتور برفی

Quick 'n Easy Web Builder 13.1.2

Quick 'n Easy Web Builder 13.1.2

ساخت وبسایت

ApowerManager (Phone Manager) 3.2.6.1

ApowerManager (Phone Manager) 3.2.6.1

مدیریت گوشی های هوشمند پاور سافت فون منیجر

Three Men vs. Fifteen Hungry Lions - Human Planet, Grasslands

Three Men vs. Fifteen Hungry Lions - Human Planet, Grasslands

شکار شیرها

سرریز بافر چیست؟

سرریز بافر چیست؟

سرریز بافر

Autorun Manager Pro 4.4.104 for Android +2.3

Autorun Manager Pro 4.4.104 for Android +2.3

مدیریت استارت آپ اندروید

Snap Camera HDR 8.10.1 for Android +4.0

Snap Camera HDR 8.10.1 for Android +4.0

دوربین اچ دی آر

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

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

طراحی سایت با وردپرس

Pluralsight - Android for .NET Developers - 1 Getting Started / 2 Building Apps With Android / 3 Adopting The Android Mindset / 4 Understanding The Android Platform

Pluralsight - Android for .NET Developers - 1 Getting Started / 2 Building Apps With Android / 3 Adopting The Android Mindset / 4 Understanding The Android Platform

مجموعه‌ی 4 دوره آموزش تصویری ساخت برنامه‌های اندروید ویژه‌ی برنامه‌نویسان دات‌نِت

آموزش COMFAR III

آموزش COMFAR III

آموزش کامفار 3

تأثیر شگرف دعا در زندگی از حجت الاسلام والمسلمین علی نظری منفرد

تأثیر شگرف دعا در زندگی از حجت الاسلام والمسلمین علی نظری منفرد

حاج آقا علی نظری منفرد با موضوع تأثیر شگرف دعا در زندگی

Pizza Connection 3 Calzone

Pizza Connection 3 Calzone

مدیریت پیتزا فروشی

Dragon in Fury

Dragon in Fury

اژدهای خشمگین

TidyWindow 4.6.2

TidyWindow 4.6.2

بهینه سازی ویندوز

ویژگی های جدید ورد 2019

ویژگی های جدید ورد 2019

گام به گام word 2019

هم تنها و هم با دیگران برای خدا قیام کنید از زبان آیت الله مصباح یزدی

هم تنها و هم با دیگران برای خدا قیام کنید از زبان آیت الله مصباح یزدی

هم تنها و هم با دیگران برای خدا قیام کنید از زبان آیت الله مصباح یزدی

نماهنگ خورشید

نماهنگ خورشید

جشن خیابانی نیمه شعبان

آشنایی با عملکرد قفلهای CD

آشنایی با عملکرد قفلهای CD

آشنایی با عملکرد قفلهای سی دی

WinZip System Utilities Suite 4.0.3.26

WinZip System Utilities Suite 4.0.3.26

بهینه سازی و افزایش سرعت کامپیوتر

Chess Fusion 2.2 for Android +2.3

Chess Fusion 2.2 for Android +2.3

بازی سه بعدی شطرنج

سفر ناصرالدین‌شاه به عتبات عالیات در سال ۱۲۸۷ قمری

سفر ناصرالدین‌شاه به عتبات عالیات در سال ۱۲۸۷ قمری

سفرنامه ناصرالدین شاه به کربلا و نجف

زیارت نامه امام رضا علیه السلام 2.5.0 for Android

زیارت نامه امام رضا علیه السلام 2.5.0 for Android

زیارت نامه، شناسنامه، زندگی نامه، فضائل، احادیث حضرت رضا علیه السلام

Reallusion Character Creator 5.02.0923.1 + Resource Pack

Reallusion Character Creator 5.02.0923.1 + Resource Pack

طراحی و مدلسازی کاراکترهای سه بعدی

Ben-Hur 1959

Ben-Hur 1959

بن هور

Yahoo! Messenger 0.8.231 + Portable + Mac

Yahoo! Messenger 0.8.231 + Portable + Mac

یاهو مسنجر ویندوز

Sniffnet 1.4.2

Sniffnet 1.4.2

نظارت بر شبکه

The Mystery of a Lost Planet

The Mystery of a Lost Planet

اسرار سیاره‌ی گمشده

Lynda - Windows 8.1 Essential Training

Lynda - Windows 8.1 Essential Training

مجموعه فیلم آموزش شرکت لیندا درمورد نکات ضروری و پایه ویندوز 8.1

SlickEdit Pro 2024 29.0.2

SlickEdit Pro 2024 29.0.2

ویرایشگر کد حرفه‌ای

Asteroid 2012 3D 2.7.2 for Android

Asteroid 2012 3D 2.7.2 for Android

بازی جنگ شهاب آسمانی

Restaurant Story 1.6.0.2 for Android

Restaurant Story 1.6.0.2 for Android

داستان رستوران

Opera 134.0.5954.46 Portable + GX Gaming Browser

Opera 134.0.5954.46 Portable + GX Gaming Browser

اپرا پرتابل

AutoCAD 2007 SP2 / 2011 SP2 x86/x64 + Portable 2010

AutoCAD 2007 SP2 / 2011 SP2 x86/x64 + Portable 2010

نسخه‌ی 2011 قویترین نرم افزار نقشه کشی

Virtual Families

Virtual Families

اتفاقات واقعی در یک خانواده مجازی

DIgSILENT PowerFactory 15.1.7 / 14.1.3

DIgSILENT PowerFactory 15.1.7 / 14.1.3

نرم افزار فوق العاده ی تحلیل و بررسی سیستم های برق و قدرت

SmartLaunch 4.1.115 + 4.5 + 4.5.31

SmartLaunch 4.1.115 + 4.5 + 4.5.31

بهترین نرم افزار برای مدیریت کافی نت و گیم نت

My Alarm Clock  2.73.1 for Android +2.3

My Alarm Clock 2.73.1 for Android +2.3

آلارم و زنگ هشدار

Particula

Particula

پارتیکیولا

Fast Beat Loop Racer GT

Fast Beat Loop Racer GT

مسابقات اتومبیلرانی

خبرنامه

با عضویت در خبرنامه، زودتر از همه باخبر باش!