با مقاله سوئیفت (SWIFT) چیست؟ معرفی زبان برنامه نویسی سوئیفت از وب سایت آموزش برنامه نویسی سورس باران در خدمت شما هستیم. همانطور که مطلع هستید سوئیفت برای برنامه نویسی IOS مورد استفاده قرار میگیرد.
سوئیفت یک زبان برنامه نویسی چند منظوره کلی است که توسط Apple Inc. برای iOS ،iPadOS ،macOS ،watchOS ،tvOS ،Linux و ساخته شده است. برای کار با فریمورک های Apple Cocoa و Cocoa Touch و بدنه کد Objective-C، برای محصولات اپل طراحی شده است.
سوئیفت (SWIFT) چیست؟ معرفی زبان برنامه نویسی سوئیفت
Swift یک زبان برنامه نویسی چند منظوره کلی است که توسط Apple Inc. برای iOS ،iPadOS ،macOS ،watchOS ،tvOS ،Linux و ساخته شده است. برای کار با فریمورک های Apple Cocoa و Cocoa Touch و بدنه کد Objective-C، برای محصولات اپل طراحی شده است. این سیستم با فریمورک کامپایلر LLVM بصورت اوپن سورس از نسخه 6، در Xcode گنجانده شده است. اپل قصد داشت Swift را برای پشتیبانی بسیاری از مفاهیم اصلی مرتبط با Objective-C، به ویژه ارسال پویا، انتشار گسترده، برنامه نویسی گسترده و ویژگی های مشابه، اما با روشی “ایمن تر” و گرفتن راحت تر اشکالات نرم افزاری ایجاد کند.
سوئیفت از مفهوم توسعه پروتکل پشتیبانی می کند، سیستم توسعه پذیری که می تواند در تایپ های مختلف، ساختار و کلاس ها اعمال شود، که اپل به عنوان یک تغییر واقعی در پارادایم های برنامه نویسی آنها را “برنامه نویسی پروتکل گرا” (شبیه به صفات) معرفی می کند. از طریق نسخه 3.0 سینتکس Swift با پیشرفت قابل توجهی روبرو شد و باعث ثبات منبع در نسخه های بعدی شد. در سه ماهه اول سال 2018 با افزایش محبوبیت سوئیفت از Objective-C پیشی گرفت. Swift 4.0 که در سال 2017 منتشر شد، تغییراتی در برخی از کلاس ها و ساختارهای داخلی ارائه داد. کد نوشته شده با نسخه های قبلی Swift را می توان با استفاده از قابلیت انتقال به Xcode وارد کرد. Swift 5 که در مارس 2019 منتشر شد، رابط باینری پایدار را روی سیستم عامل های اپل معرفی کرد و این امکان را فراهم می کند که ران تایم Swift در سیستم عامل های اپل گنجانده شود. این قابلیت با Swift 4 سازگار است.
توسعه Swift در ژوئیه سال 2010 توسط کریس لاتنر با همکاری نهایی بسیاری از برنامه نویسان دیگر در اپل آغاز شد. زبان سوئیفت ایده هایی را از زبان هایObjective-C ،Rust ، Haskell، Ruby، Python، C# و خیلی موارد دیگر برای محتوای خود گرفت. در تاریخ 2 ژوئن 2014، کنفرانس برنامه جهانی توسعه دهندگان (WWDC) اپلیکیشن اولین اپلیکیشن که با Swift نوشته شده بود را در معرض انتشار عموم قرار داد. نسخه بتای آن برای توسعه دهندگان ثبت نام شده در این کنفرانس منتشر شد. اپل قصد داشت مبدل های کد منبع را در صورت نیاز برای انتشار کامل در دسترس قرار دهد. زبان برنامه نویسی Swift، کتابچه راهنمای 500 صفحه ای رایگان، در WWDC نیز منتشر شد و در فروشگاه iBooks و وب سایت رسمی موجود است.
Swift 1.1 در 22 اکتبر 2014 در کنار انتشار Xcode 6.1 منتشر شد. Swift 1.2 در 8 آوریل 2015 به همراه Xcode 6.3 منتشر شد. Swift 2.0 در WWDC 2015 تهیه شد و در تاریخ 21 سپتامبر 2015 برای انتشار برنامه ها در App Store در دسترس قرار گرفت. Swift 3.0 در تاریخ 13 سپتامبر 2016 منتشر شد. Swift 4.0 در 19 سپتامبر 2017 منتشر شد. Swift 4.1 در مارس 2018 منتشر شد. سوئیفت مقام اول را برای محبوب ترین زبان برنامه نویسی در Stack Overflow Developer Survey 2015 و مقام دوم در سال 2016 کسب کرد. در طی کنفرانس برنامه جهانی توسعه دهندگان(WWDC 2019)، اپل SwiftUI را منتشر کرد، فریمورکی که برای طراحی ساختار UI اعلامی در تمام سیستم عامل های اپل فراهم می کند
ویژگی های زبان برنامه نویسی سوئفیت (Swift)
سوئیفت جایگزینی برای زبان Objective-C است که از مفاهیم تئوری زبان برنامه نویسی مدرن استفاده می کند و تلاش می کند تا یک اصطلاح ساده تر را ارائه دهد. به طور پیش فرض، Swift برخلاف Objective-C، نشانگرها و سایر دسترسی های ناایمن را در معرض نمایش قرار نمی دهد، بلکه از اشاره گرها به طور گسترده برای اشاره به نمونه های شی استفاده می کند. Swift پارامترهای نامگذاری شده واقعی را معرفی می کند و مفاهیم کلیدی Objective-C را شامل می شود، از جمله پروتکل ها، بسته ها، که اغلب جایگزین سینتکس قبلی با نسخه های جدید اجازه می دهد این مفاهیم در ساختارهای دیگر زبان ها اعمال شود.
پشتیبانی رشته در برنامه نویسی سوئیفت
تحت محیط های Cocoa و Cocoa Touch، بسیاری از کلاس های متداول بخشی از کتابخانه بنیاد کیت بودند. این شامل کتابخانه رشته NSString (با استفاده از یونیکد)، کلاس های مجموعه NSArray و NSDociation و موارد دیگر بود. Objective-C مقادیر مختلفی از syntactic sugar را فراهم می آورد تا اجازه دهد برخی از این اشیاء در داخل زبان ایجاد شده و پس از ایجاد، اشیاء با فراخوانی شی دستکاری شوند.
کنترل دسترسی در برنامه نویسی سوئیفت
Swift از پنج سطح کنترل دسترسی برای نمادها پشتیبانی می کند: باز، عمومی، داخلی، فایل خصوصی و خصوصی. برخلاف بسیاری از زبان های شی گرا، این کنترل های دسترسی سلسله مراتب وراثت را نادیده می گیرند: سطح خصوصی نشان می دهد که یک نماد فقط در محدوده اسکوپ قابل دسترسی است، fileprivate نشان می دهد که فقط از درون فایل قابل دسترسی است، داخلی نشان می دهد که در ماژول قابل دسترسی است، عمومی که از هر ماژول قابل دسترسی است و باز (فقط برای کلاس ها و متد های آن ها) نشان می دهد که کلاس ممکن است خارج از ماژول طبقه بندی شود.
Optionals و chaining در در برنامه نویسی سوئیفت
یک ویژگی جدید مهم در سوئیفت option types است که اجازه می دهد تا منابع یا مقادیر به روشی مشابه الگوی مشترک در C عمل کنند، جایی که یک اشاره گر ممکن است به یک مقدار مراجعه کند یا ممکن است تهی باشد. این بدان معنی است که انواع غیر اختیاری نمی توانند منجر به خطای تهی شوند. کامپایلر می تواند اطمینان حاصل کند که این امکان پذیر نیست.
حتما بخوانید : فیلم آموزش ساخت اپلیکیشن یادداشت برداری برای iOS 11 با Swift به زبان اصلی
انواع مقدار در برنامه نویسی سوئیفت
در بسیاری از زبان های شی گرا، اشیاء در دو قسمت در داخل نمایش داده می شوند. جسم به صورت بلوکی از داده های ذخیره شده در پشته ذخیره می شود، در حالی که نام آن شیء توسط یک نشانگر نشان داده می شود. با کپی کردن مقدار اشاره گر، اشیاء بین متد ها منتقل می شوند و به همه داده های زمینه موجود در پشته امکان دسترسی به هر کسی با یک کپی داده می شود. در مقابل، انواع اساسی مانند عدد صحیح و مقادیر شناور به طور مستقیم نمایش داده می شوند.
برنامه نویسی پروتکل گرا در سوئیفت
یکی از ویژگی های اصلی Objective-C پشتیبانی از آن برای دسته بندی ها، متد هایی است که می تواند برای افزایش کلاس ها در ران تایم به آنها اضافه شود. دستهبندی ها به کلاس های در حال گسترش اجازه می دهد تا توابع جدیدی را بدون نیاز به زیر کلاس یا حتی دسترسی به کد منبع اصلی اضافه کنند. این سیستم همچنین به طور گسترده ای به عنوان یک تکنیک سازمانی مورد استفاده قرار می گیرد و این امکان را می دهد تا کدهای مرتبط در پسوندهای شبیه به کتابخانه جمع شوند. Swift همچنان از این مفهوم پشتیبانی می کند، اگرچه اکنون به آنها پسوند داده می شوند و با پسوند کلمه کلیدی اعلام شده اند. برخلاف Objective-C ، Swift همچنین می تواند دسترسی، تایپ و شمایل جدید را به موارد موجود اضافه کند.
کتابخانه ها، ران تایم و توسعه در برنامه نویسی سوئیفت
Swift از سیستم ران تایم مشابه Objective-C استفاده می کند، اما به iOS 7 یا macOS 10.9 یا بالاتر نیاز دارد. کد Swift و Objective-C را می توان در یک برنامه و با پسوند، C و ++C نیز استفاده کرد و برخلاف C و ++C کد را نمی توان مستقیم از Swift استفاده کرد. بسته بندی Objective-C یا C باید بین Swift و ++C ایجاد شود. در مورد Objective-C، سوئیفت دسترسی قابل توجهی به مدل شی دارد و می تواند برای زیر کلاس، گسترش و استفاده از کد Objective-C برای پشتیبانی از پروتکل استفاده شود. این گفتگو صحیح نیست: یک کلاس Swift را نمی توان در Objective-C طبقه بندی کرد.
مدیریت حافظه در برنامه نویسی سوئیفت
سوئیفت برای مدیریت حافظه از شمارش خودکار رفرنس (ARC) استفاده می کند. اپل در Objective-C به مدیریت حافظه دستی احتیاج داشت ، اما ARC را معرفی کرد تا امکان تخصیص و جابجایی آسانتر حافظه را فراهم کند. یکی از مشکلات ARC امکان ایجاد چرخه رفرنس قوی است که در آن اشیاء به یکدیگر رجوع می کنند به گونه ای که می توانید با مراجعه به منابع دیگر به عنوان موردی که از آن شروع کرده اید برسید. این باعث می شود تا وقتی که آزاد نمی شوند، به حافظه نشت کنند. Swift برای جلوگیری از چرخه های رفرنس قوی، کلمات کلیدی را ضعیف و ناشناخته ارائه می دهد. به طور معمول، روابط پدر و فرزند از رفرنس قوی استفاده می کند در حالی که یک فرزند یا والدین می توانند از یک رفرنس ضعیف استفاده کنند، جایی که والدین و فرزندان می توانند با هم ارتباط نداشته باشند، یا در جایی که فرزند همیشه والد دارد، یا بدون فرزند شناخته نمی شود، اما والدین ممکن است فرزند نداشته باشند. رفرنس ضعیف باید متغیرهای اختیاری باشند، زیرا می توانند تغییر کنند و صفر شوند. ویژگی های Swift به گونه ای طراحی شده اند که با هم کار می کنند تا زبانی را ایجاد کنند که قدرتمند و در عین حال سرگرم کننده باشد. برخی از ویژگی های اضافی Swift عبارتند از:
- بسته شدن با نشانگرهای عملکرد
- تاپل ها و مقادیر بازگشتی متعدد
- تکرار سریع و مختصر در یک محدوده یا مجموعه
- سازه هایی که روش ها، برنامه های افزودنی و پروتکل ها را پشتیبانی می کنند
- الگوهای برنامه نویسی عملکردی، به عنوان مثال، نقشه و فیلتر
- خطای قدرتمند هنگام کار با داخلی
- جریان کنترل پیشرفته با کلمات کلیدی انجام، محافظت، تعویق و تکرار
فریمورک های زبان برنامه نویسی سوئفیت (Swift)
فریمورک xcode
SwiftUI یک روش ابتکاری و فوق العاده ساده برای ساخت رابط های کاربر در تمام سیستم عامل های Apple با قدرت Swift است. با استفاده از فقط یک مجموعه ابزار و API، رابط های کاربری برای هر دستگاه اپل ایجاد کنید. SwintUI با سینتکس Swift که خواندن آن آسان است و نوشتن آن طبیعی است، یکپارچه با ابزارهای جدید طراحی Xcode کار می کند تا کدها و طراحی شما کاملاً همگام باشد. SwiftUI واقعاً نیتیو است، بنابراین برنامه های شما به طور مستقیم به فناوری های اثبات شده هر پلتفرم دسترسی پیدا می کنند تا زیبایی هر چیزی را که دوست دارند در اکوسیستم اپل اجرا کنند. برنامه های شما عملکرد نیتیو باور نکردنی را به دست می آورند و از فناوری های ثابت شده، کنترل ها و تجربیات کاربر سیستم عامل های اپل استفاده می کنند تا کاملاً یکپارچه شوند. حالت زنده تغییر طراحی خود را فوراً در یک یا چند پیش نمایش دقیق مشاهده کنید. بوم طراحی را به حالت زنده تغییر دهید تا فوراً با برنامه در حال اجرا در Xcode یا در یک دستگاه متصل تعامل برقرار کنید. Swift اکنون در تمام سیستم عامل های اپل ساخته شده است و رابط باینری پایدار برای Swift در حرکت به جلو است. بسته های Swift در تمام Xcode یکپارچه شده اند و استفاده از یک بسته در برنامه های خود برای سیستم عامل های Apple بسیار ساده است. فقط کافی است بسته جدیدی را به آن اضافه کنید تا بسته خارجی را به پروژه خود اضافه کنید، سپس بسته بندی را از GitHub ،Bitbucket ،GitLab یا میزبان کد خود کلون کنید. Xcode بسته های بسته را بررسی می کند و تمام بسته هایی را که مستقیماً در ناوبر استفاده می کنید نشان می دهد.
فریمورک Cocoa Touch
Cocoa Touch یک فریمورک UI برای ساختن برنامه های نرم افزاری برای اجرا در iOS برای iPhone ،iPod Touch و iPad ،watchOS برای Apple Watch و tvOS است. Cocoa Touch لایه انتزاعی از iOS، سیستم عامل iPhone ،iPod Touch و iPad را در اختیار شما قرار می دهد. Cocoa Touch مبتنی بر مجموعه ابزار macOS Cocoa API است و مانند آن، در درجه اول به زبان Objective-C نوشته شده است. Cocoa Touch امکان استفاده از سخت افزارها و ویژگی هایی را که در رایانه های MacOS یافت نمی شوند فراهم می کند و بنابراین منحصر به فرد برای دستگاه های iOS است. درست مانند Cocoa ،Cocoa Touch از معماری نرم افزار Model-View-Controller پیروی می کند.
Cocoa Touch شامل مجموعه متفاوتی از عناصر کنترل گرافیکی از Cocoa است. ابزارهایی برای توسعه برنامه های مبتنی بر Cocoa Touch در iOS SDK گنجانده شده است. Cocoa یک فریمورک مدرن و شی گرا است. فریمورک Cocoa شامل تعاریف کلاس برای کلاس هایی است که عموما برای تولید یک رابط کاربری گرافیکی (GUI) برای برنامه هایی که تحت Mac OS X اجرا می شوند مفید است. Cocoa همچنین یک رابط شی گرا را برای سیستم عامل (OS) فراهم می کند. Cocoa همان چیزی است که خود اپل از آن برای توسعه برنامه های مک استفاده می کند که دارای سیستم عامل Mac X هستند مانندFinder ،Mail ،iTunes و …
مثالی از زبان برنامه نویسی سوئیفت
جهت چاپ مقادیر و رشته ها از println استفاده می شود ، برای چاپ مقادیر متغیرداخل یه رشته متنی از () استفاده می شود
1 2 3 |
var name = "Joe" var age = 34 println("Meet (name). (name) is (age) years old") |
کامنت گذاری هم در این زبان شبیه به زبان هایی مثل phpهست به صورت زیر :
1 2 3 4 5 6 7 8 |
single line comment // This is a single line comment var notaComment = 1 multiple lines comment /* This is a comment that spans multiple lines */ var notAnotherComment = 2 |
همچنین در زیر مثال هایی از عملگرها ساده در سوئیفت را می بینید
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
10+ 5 // 15 10 - 5 // 5 10 * 5 // 50 10 / 5 // 2 10 % 5 // 0 12 % 5 // 2 var x = 10 x += 5 // 15 x -= 5 // 10 x *= 5 // 50 x /= 5 // 10 x // 10 let x = 10 x > 5 // true x < 5 // false x >= 10 // true x <= 10 // true x == 10 // true x == 9 // false let x = 10 x > 5 && x < 20 // true x > 20 || x <= 10 // true !(x < 0) // true |
دانلود ابزار برنامه نویسی سوئیفت
شما دوستان عزیز با مراجعه به لینک زیر می توانید برنامه سوئیفت را جهت برنامه نویسی دانلود نمایید و نهایت استفاده را ببرید. لینک زیر، منبع اصلی این زبان برنامه نویسی می باشد که از طریق آن می توانید جدیدترین ورژن Swift را دانلود نمایید.
دانلود از وب سایت اصلی سوئیفت
سوئیفت چیست؟ ویدئو معرفی زبان برنامه نویسی سوئیفت
مشاهده جلسات قبل معرفی زبان های برنامه نویسی
- زبان برنامه نویسی سی و سی پلاس پلاس
- معرفی زبان برنامه نویسی پایتون
- Ruby چیست؟ بررسی زبان برنامه نویسی روبی
- زبان برنامه نویسی PHP چیست؟
- زبان برنامه نویسی Lua چیست؟
- کاتلین (Kotlin) چیست؟ توضیح زبان برنامه نویسی کاتلین
- Ada چیست؟ معرفی زبان برنامه نویسی Ada
- زبان برنامه نویسی COBOL چیست؟ شرح کامل COBOL
- معرفی زبان برنامه نویسی Cython
- زبان برنامه نویسی Elixir چیست؟ معرفی کامل Elixir (الیکسیر)
- کاملترین معرفی زبان برنامه نویسی Groovy
- زبان برنامه نویسی Rust چیست؟ کاملترین معرفی زبان برنامه نویسی Rust
- زبان برنامه نویسی Scala چیست؟ معرفی،ویژگی ها و کاربرد Scala
- معرفی زبان برنامه نویسی Haskell
- معرفی زبان برنامه نویسی Lisp (لیسپ)
- کاملترین معرفی زبان برنامه نویسی جاوا
- معرفی کامل زبان برنامه نویسی Perl و نمونه کد Perl
- WinJS چیست؟ معرفی کتابخانه WinJS
- SignalR چیست؟
- Orchard چیست؟
- انگولار جی اس چیست؟ معرفی کامل فریم ورک متن باز Angular JS
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- منبع : سورس باران
- رمز فايل : www.sourcebaran.com
- انتشار: ۱۲ دی ۱۳۹۸
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- رپورتاژ
- فروشگاه
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- Go
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس