You are on page 1of 6

TÌM HIỂU VỀ NGÔN NGỮ LẬP TRÌNH SWIFT

Họ tên: Lê Văn Phong
MSSV: 11020424

I. Giới thiệu về ngôn ngữ lập trình Swift

Swift là một ngôn ngữ lập trình hoàn toàn mới, hiện đại và an toàn. Swift đã được Apple phát
triển trong suốt 4 năm vừa qua và mới được giới thiệu tại WWDC 2014.
Swift có chứa rất nhiều những đặc tính được các lập trình viên yêu thích ở nhiều ngôn ngữ khác
nhau như: Objective-C, Rust, Haskell, Python, C#, CLU và nhiều ngôn ngữ khác!
Swift sẽ giúp quá trình phát triển ứng dụng cho người dùng trở nên dễ dàng hơn, nhanh hơn, ổn
định hơn, đáp ứng được nhu cầu của các “coder” hơn.
Cú pháp của Swift đơn giản và chính xác hơn nhiều và điều này đã góp phần làm giảm đi phần
nào những rào cản khi một lập trình viên muốn bắt đầu phát triển các ứng dụng cho iOS và Mac
OS!
II. Đặc điểm nổi bật
1. Hiện đại hơn
Swift là kết quả của nghiên cứu mới nhất về ngôn ngữ lập trình, kết hợp với kinh nghiệm qua
nhiều thập kỷ xây dựng các nền tảng của Apple. Các thông số được đặt tên đưa về phía trước
từ Objective-C được thể hiện trong một cú pháp trong sạch mà làm cho các API trong Swift
thậm chí còn dễ dàng hơn để đọc và duy trì.
Dạng phỏng đoán làm cho code sạch hơn và ít bị lỗi, trong khi loại bỏ các mô-đun tiêu đề và
cung cấp không gian tên. Bộ nhớ được quản lý tự động, và thậm chí bạn không cần phải gõ
dấu chấm phẩy.

Swift có nhiều tính năng khác để làm cho mã của bạn biểu cảm hơn:
 Đóng thống nhất với con trỏ chức năng
 Bộ dữ liệu và nhiều giá trị trả về
 Generics
 Lặp lại nhanh chóng và ngắn gọn trong một dãy hoặc bộ sưu tập
 Cấu trúc hỗ trợ phương pháp, mở rộng, giao thức.
 Mô hình lập trình chức năng, ví dụ như: bản đồ và bộ lọc
2. Thiết kế an toàn hơn
Nhanh chóng loại bỏ toàn bộ lớp của mã không an toàn. Biến luôn khởi tạo trước khi sử dụng,
mảng số nguyên và được kiểm tra và bộ nhớ được quản lý tự động. Cú pháp được điều chỉnh
để làm cho nó dễ dàng để xác định { định của bạn - ví dụ, đơn giản từ khóa ba ký tự định
nghĩa biến (var) hoặc không đổi (cho phép).

Các mô hình an toàn tại Swift được điều chỉnh cho Cocoa mạnh mẽ và Cocoa API Touch. Hiểu
rõ và xử l{ đúng trường hợp đối tượng là bằng không là cơ sở cho các khuôn khổ, và Swift
code làm cho điều này rất dễ dàng. Thêm một nhân vật duy nhất có thể thay thế những gì đã
từng là toàn bộ một dòng mã trong Objective-C. Điều này tất cả làm việc với nhau để thực
hiện xây dựng các ứng dụng iOS và Mac dễ dàng hơn và an toàn hơn bao giờ hết.
3. Nhanh và mạnh hơn
Nhanh chóng và mạnh mẽ Từ { tưởng sớm nhất của nó, Swift được xây dựng để được nhanh
chóng. Sử dụng trình biên dịch LLVM cực kz hiệu suất cao, Swift code được chuyển thành mã
gốc tối ưu, điều chỉnh để tận dụng tối đa của phần cứng máy Mac, iPhone, iPad và hiện đại.
Cú pháp và tiêu chuẩn thư viện cũng đã được điều chỉnh để thực hiện một cách rõ ràng nhất
để viết mã của bạn cũng hoạt động tốt nhất. Swift là một kế thừa của C và Objective-C. Nó
bao gồm nguyên thủy ở mức độ thấp như Dạng, kiểm soát dòng chảy, và các nhà khai thác.
Nó cũng cung cấp các tính năng hướng đối tượng như các lớp, các giao thức, và Generics,
Cocoa và Cocoa Touch phát triển hiệu suất và sức mạnh mà họ yêu cầu
4. Tương tác với Playgrounds
Playgrounds làm cho viết mã Swift cực kz đơn giản và vui vẻ. Gõ một dòng mã và kết quả
xuất hiện ngay lập tức. Nếu mã của bạn chạy theo thời gian, ví dụ thông qua một vòng, bạn
có thể xem những tiến bộ trong các trợ lý thời gian. Dòng thời gian hiển thị các biến trong
một đồ thị, thu hút mỗi bước khi soạn một cái nhìn, và có thể đóng một cảnh SpriteKit động.
Khi bạn đã hoàn thiện mã của bạn ở Playgrounds, chỉ đơn giản là di chuyển mã đó vào dự án
của bạn.

Một số sử dụng Playgrounds bao gồm:
 Thiết kế một thuật toán mới, xem kết quả của nó mỗi bước của quá trình
 Tạo thử nghiệm mới, xác minh họ làm việc trước khi xúc tiến thành bộ kiểm tra
của bạn
 Thử nghiệm với các API mới để trau dồi kỹ năng Swift viết mã của bạn

5. Read-Eval-Print-Loop (REPL)
Gỡ lỗi giao diện điều khiển trong Xcode bao gồm một phiên bản tương tác của các ngôn ngữ
Swift ngay trong chương trình. Sử dụng cú pháp Swift để đánh giá và tương tác với các ứng
dụng của bạn chạy, hoặc viết mã mới để xem cách nó hoạt động trong một môi trường kịch
bản như thế nào. Có sẵn từ bên trong giao diện điều khiển Xcode, hoặc trong Terminal.



III. Ưu, nhược điểm của Swift
1. Ưu điểm
- Khả năng phát triển ứng dụng di động và kiểm tra thành quả của mình theo thời gian thực sẽ giúp
cho quá trình code của các lập trình viên trở nên nhanh và dễ dàng hơn rất nhiều. Ngoài ra, việc
không phải chạy chương trình compiler và các chương trình test quá thường xuyên cũng sẽ tiết
kiệm được sức mạnh phần cứng cho nhà phát triển. Thay vì tập trung kiểm tra, thử nghiệm các tính
năng nhỏ lẻ, lập trình viên Swift có thể dành nhiều thời gian để thực hiện các bài test ở mức độ tích
hợp cao hơn một cách kỹ càng hơn.



- Lợi ích thứ 2 của Swift là các dòng code rất ngắn và dễ đọc. Trong bài trình bày của Apple, 3 dòng
code Objective C có thể gói gọn vào 1 dòng code Swift. Điều này sẽ đẩy nhanh quá trình phát triển
ứng dụng và tăng hiệu quả cho quá trình bảo trì/vá lỗi trong tương lai.

- Swift hoạt động tương tự một phiên bản Objective C đơn giản, với các lớp đối tượng được đơn
giản hóa, và các dòng mã được sắp xếp hợp lý. Với Swift, Các nhà phát triển sẽ có môi trường
runtime tương tự Objective C, do vậy nó rất quen thuộc và dễ quản lý.
- Ngoài sự đơn giản và phương thức sắp xếp hợp l{ hơn cho việc sáng tạo ứng dụng, X Code runtime
được thực hiện trong thời gian thực cho Swift. Viết một dòng mã và nhận được kết quả trong thời
gian thực, và hình ảnh cũng có thể được xem từ bên trong IDE. X Code cũng sẽ dựng các kịch
bản(script) thực hiện trong các ứng dụng, vì vậy theo Apple nói thì lập trình viên có thể quản lý tốt
hơn một ứng dụng để tránh sự cố tràn bộ nhớ.

- Swift có thể làm việc liền mạch với Objective C, vì vậy các ứng dụng hiện tại có thể được cập nhật
bằng Swift. Các nhà phát triển cũng có thể sử dụng các công cụ hữu ích của Objective C ngay chính
trên Swift (có thể sống chung với mã C và Objetive-C trong cùng một ứng dụng).
- Swift tạo ra các ứng dụng có sức ép phần cứng thấp hơn Objective-C, chúng ta sẽ được tận hưởng
trải nghiệm game ấn tượng hơn trên các thiết bị iOS.
2. Nhược điểm
- Điểm yếu lớn nhất của Swift có lẽ sẽ là tuổi đời quá trẻ của ngôn ngữ lập trình này. Cụ thể hơn, để
sử dụng Swift, các nhà phát triển sẽ phải học lại một ngôn ngữ lập trình hoàn toàn mới. Và cộng
đồng cũng chưa có nhiều, Các nhà phát triển ứng dụng iOS sẽ mất một khoảng thời gian đáng kể để
làm chủ ngôn ngữ mới của Apple.

- Do vẫn còn đang trong giai đoạn phát triển nên còn non trẻ cần có thời gian để cộng đồng kiềm
nghiệm và đánh giá ưu/nhược và tính hiệu quả so với Objective C có tuổi đời trên 30 năm.