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

همه دسته بندی ها

منو
جستجو
اطلاعیه های مهم سایت اطلاعیه های مهم سایت
💐 میلاد زینت پدر حضرت زینب سلام الله علیها مبارک باد 💐
 
 
  1. سافت گذر جهت آپدیت بخش نرم افزار نیاز به همکار حرفه ای دارد. ارسال درخواست به بخش ارتباط با ما / سردبیری
  2. جهت رفع مشکل باز شدن سایت به دلیل بلاک توسط  نود 32 این ویدیو یا این ویدیو(ورژن 9 به بالا) یا راهنمای تصویری را مشاهده کنید
  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 تعداد مشاهده: 2389
اخبار مرتبط با این خبر
نظر های کاربران
سرور آپدیت نود 32
پیشنهاد سافت گذر
TMPGEnc Video Mastering Works 5.0.6.38 Retail + Portable

TMPGEnc Video Mastering Works 5.0.6.38 Retail + Portable

نرم افزار تبدیل فیلم ضبط شده توسط گیرنده های دیجیتالی

BeFunky Photo Editor Pro 6.3.2 for Android +2.2

BeFunky Photo Editor Pro 6.3.2 for Android +2.2

ویرایش قدرتمند تصاویر با قابلیت به اشتراک گذاری

CloneDVD2 2.9.3.3

CloneDVD2 2.9.3.3

قدرتمندترین نرم افزار رایت DVD/CD

Cortex Command Build 30

Cortex Command Build 30

فرماندهی مغز

گلچین بهترین مداحی حاج منصور ارضی

گلچین بهترین مداحی حاج منصور ارضی

مداحی حاج منصور ارضی

Microsoft Visual Studio Team Foundation Server / Server Express 2013 Update 5 x86/x64

Microsoft Visual Studio Team Foundation Server / Server Express 2013 Update 5 x86/x64

ویرایش خاص نرم افزار Visual Studio‌ برای انجام گروهی پروژه های برنامه نویسی

Sparx Systems Enterprise Architect 15.2 Build 1554

Sparx Systems Enterprise Architect 15.2 Build 1554

طراحی نمودار یو ام ال

MudRunner - Old-timers + Update v20190807

MudRunner - Old-timers + Update v20190807

شبیه ساز رانندگی با کامیون

بازاریابی بانکی - Bank marketing

بازاریابی بانکی - Bank marketing

آشنایی با بازاریابی بانکی به زبان خودمانی

Total Yoga: A Step-by-Step Guide to Yoga at Home for Everybody

Total Yoga: A Step-by-Step Guide to Yoga at Home for Everybody

یوگا در کل: راهنمای گام به گام یوگا در خانه برای همه

Zoom Player MAX 21.2.0.2120

Zoom Player MAX 21.2.0.2120

پخش کننده فایل های صوتی و تصویری

Intel Processor Diagnostic Tool 4.1.9.41

Intel Processor Diagnostic Tool 4.1.9.41

تست پردازنده های اینتل

Lynda - Balancing Work and Life

Lynda - Balancing Work and Life

فیلم آموزش ایجاد تعادل در شغل و زندگی

SpeedTree Modeler 10.0 (x64)

SpeedTree Modeler 10.0 (x64)

مدل‌سازی سه‌بعدی گیاهان و درختان

TapGlider 1.4 for Android

TapGlider 1.4 for Android

بازی هواپیمای کاغذی برای آندورید

آموزش زبان برنامه نویسی پاسکال

آموزش زبان برنامه نویسی پاسکال

آشنایی کامل با زبان برنامه نویسی Pascal

Gears Tactics Jacked

Gears Tactics Jacked

استراتژیک نوبتی

درمان انواع بیماری‌های قلبی، امراض مربوط به خون و رگ‌ها

درمان انواع بیماری‌های قلبی، امراض مربوط به خون و رگ‌ها

بیماری های قلبی و درمان آن

روزنامه ملا جلال منجم

روزنامه ملا جلال منجم

وقایع دربار شاه عباس صفوی

مجله تخصصی بررسی و تحلیل مسائل روز

مجله تخصصی بررسی و تحلیل مسائل روز

مجله The Nation فوریه 22 ؛ 2021

آموزش فرمول نویسی در ورد

آموزش فرمول نویسی در ورد

آشنایی با محیط فرمول نویسی در Word

سخنرانی استاد رفیعی با موضوع فضایل و شخصیت امام علی (ع)

سخنرانی استاد رفیعی با موضوع فضایل و شخصیت امام علی (ع)

سخنرانی استاد رفیعی با موضوع امام علی

Learn 50 languages 12.3 for Android +2.3

Learn 50 languages 12.3 for Android +2.3

آموزش 50 زبان

Kika Emoji Keyboard 6.6.9.510 for Android +4.1

Kika Emoji Keyboard 6.6.9.510 for Android +4.1

صفحه کلید کیکا

Remix OS for PC Android M 3.0.207

Remix OS for PC Android M 3.0.207

ریمیکس اواس

سخنرانی حجت الاسلام انصاریان  با موضوع عظمت زیارت امام رضا ع

سخنرانی حجت الاسلام انصاریان با موضوع عظمت زیارت امام رضا ع

حاج آقا انصاریان با موضوع عظمت زیارت امام رضا ع

Farm Frenzy 3 (Ice Domain) 1.0 for Android

Farm Frenzy 3 (Ice Domain) 1.0 for Android

شبیه ساز مزرعه

پرسیتی - شهر پارسی 1.25.5.4895 برای اندروید 4.2+

پرسیتی - شهر پارسی 1.25.5.4895 برای اندروید 4.2+

پرسیتی - شهر پارسی

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

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

تلاوت یوسف افراش سوره نصر

Major Privacy 0.97.1 Beta

Major Privacy 0.97.1 Beta

حفظ حریم خصوصی

تفسیر صوتی سوره حدید

تفسیر صوتی سوره حدید

تفسیر سوره 57

Blue-Cloner + Blue-Cloner Diamond 13.50.861

Blue-Cloner + Blue-Cloner Diamond 13.50.861

کپی دیسک های بلوری

وای فای لذیذ

وای فای لذیذ

برای داشتن یک وای فای خانگی امن و سریع این مقاله را بخوانید

Toy Odyssey The Lost and Found

Toy Odyssey The Lost and Found

ادیسه اسباب بازی ها گم و پیدا

Adobe Illustrator CS6 16 + Update 16.0.3

Adobe Illustrator CS6 16 + Update 16.0.3

نسخه CS6 بهترین نرم افزار طراحی تصاویر به صورت وکتور (بدون کاهش کیفیت در صورت تغییر اندازه)

آموزش Flash MX

آموزش Flash MX

آموزش فلش ام ایکس

NCSS Pro 2021 21.0.3 / PASS Pro 2021 21.0.3

NCSS Pro 2021 21.0.3 / PASS Pro 2021 21.0.3

نرم افزار تجزیه و تحلیل آمار

آموزش لینک بیلدینگ

آموزش لینک بیلدینگ

کتاب لینک بیلدینگ

سخنرانی حجت الاسلام ماندگاری با موضوع بندگی در مسیر زندگی - 3 جلسه

سخنرانی حجت الاسلام ماندگاری با موضوع بندگی در مسیر زندگی - 3 جلسه

حاج آقا ماندگاری با موضوع بندگی در مسیر زندگی

چگونگی اتصال FastReport.NET به SQL Server

چگونگی اتصال FastReport.NET به SQL Server

چگونگی اتصال فست ریپورت به اس کیو ال سرور

خبرنامه

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