Language

Tất Tần Tật Về Alamofire

Nếu bạn từng có cơ hội làm việc với networking trên iOS, chắc chắn bạn đã nghe về Alamofire, một thư viện networking được viết bằng Swift cho iOS và MacOS. Nó đơn giản hóa tất cả các công việc networking phổ biến trong ứng dụng của bạn.
Nếu bạn chưa gặp Alamofire, đừng lo, hướng dẫn này sẽ giới thiệu cho bạn tất cả các tác vụ mà Alamofire có thể xử lý cho bạn. Nếu bạn đã quen thuộc với nó, không sao, hãy coi bài viết này như một bản tóm tắt và tập trung cho cẩm nang Alamofire của bạn.
Hãy bắt đầu nào!

Sắp ra mắt!

Read More

Review sach: Building Applications With iBeacon

Trong bai viet truoc, toi da gioi thieu so luoc ve iBeacon - Mot giao thuc Bluetooth duoc xay dung tren nen tang BLE boi Apple, va tao mot demo don gian ve cach iBeacon co the danh thuc mot ung dung sau khi bi nguoi dung tat. Tuy nhien, toi chua de cap den cac khai niem nen tang khac trong Beacon, no cung khong cho ban cai nhin sau ve cac uu diem va nhuoc diem cua cong nghe manh me nay.
Hom nay, toi muon gioi thieu cho ban mot cuon sach tot cung cap kien thuc vung chac trong linh vuc Beacon, dac biet la iBeacon: Building Applications With iBeacon xuat ban boi O’Reilly.
Sau khi doc cuon sach nay, toi dam bao rang ban se co duoc kien thuc tot trong linh vuc iBeacon va tam tri cua ban se coi mo hon voi cac y tuong sap toi.
Bat dau thoi!

Read More

iOS Concurrency Nâng Cao: Async Operations [2]

Trong bài viết trước, iOS Concurrency Nâng Cao: Operations, chúng ta đã đi qua các khái niệm về Operation trên iOS và xây dựng một ứng dụng demo để tải một số bài viết của tôi. Sau khi tải các hình ảnh bìa, chúng sẽ được áp dụng một filter đơn giản, sau đó được hiển thị trong table view. Tuy nhiên, ứng dụng vẫn chưa hoàn thiện. Có điều gì đó không đúng với ứng dụng của chúng ta khiến nó không hiển thị đúng các hình ảnh đã tải. Trong hướng dẫn này, chúng ta sẽ tiếp tục từ nơi đã dừng lại.
Sẵn sàng nào!

Read More

iOS Concurrency Nâng cao: Operations [1]


Có hai kỹ thuật để xử lý Concurrency trong iOS: GCD - Grand Central Dispatch và Operations. Hầu hết thời gian, GCD cung cấp hầu hết các khả năng concurrency mà bạn cần. Tuy nhiên, đôi khi bạn sẽ muốn một số tùy chỉnh nâng cao bổ sung. Đó là lúc để sử dụng Operations. Tutorial này sẽ giới thiệu Operations trong Swift, cũng như giải thích khi nào và tại sao chúng ta sử dụng Operation thay vì GCD.
Hãy chuyển số!

Có một khoảng cách lớn giữa việc biết con đường và đi qua con đường.

Read More

Xây dựng trang cá nhân của bạn với Hexo


Khi tôi xây dựng trang web cá nhân này, mục tiêu đầu tiên của tôi là tận hưởng sở thích viết lách. Tôi viết bất cứ điều gì tôi học được trong công việc hàng ngày, và chia sẻ nó. Tôi hy vọng những chia sẻ của tôi sẽ giúp ai đó khi họ cần. Đổi lại, tôi sẽ có hiểu biết sâu hơn về những gì tôi viết, và đôi khi, nhận được “một ly cà phê” (Buy me Coffee) từ một người bạn tôi chưa từng gặp.

Sức mạnh đạt được bằng cách chia sẻ kiến thức, không phải bằng cách tích trữ nó

Một số bạn bè đến hỏi tôi cách xây dựng một trang như của tôi. Tôi rất vui được chia sẻ với bạn cách tôi xây dựng nó.
Sau hướng dẫn này, bạn có thể xây dựng trang web của riêng mình trong vòng 5 phút.
Tôi hy vọng sớm thấy trang web của bạn ra mắt!

Read More

Beta Test và TestFlight


Là một iOS developer, bạn có thể đã nghe về TestFlight - một sản phẩm của Apple cho phép bạn phân phối ứng dụng của mình đến người dùng beta. Vậy chúng ta có thể làm gì với nó? Nó có hữu ích không?
Trong hướng dẫn này, chúng ta sẽ đi qua các bước tải một build lên TestFlight, và mời người dùng test ứng dụng của bạn.
Bạn cũng cần tham khảo bài viết trước Đưa ứng dụng của bạn lên Store để hoàn thành hướng dẫn này.
Hãy bắt đầu!

Read More

Review sach: Swift Apprentice - Raywenderlich


Khi toi dang tim kiem mot cuon sach de nang cao ky nang phat trien iOS, toi tim thay cuon Swift Apprentice nay tren cua hang sach cua Raywenderlich. Xem qua noi dung cua cuon sach, toi quyet dinh them cuon sach vao thu vien cua minh.
Noi chung, neu ky nang iOS cua ban la mid-level hoac senior, ban rat tu tin voi ky nang lap trinh bac thay cua minh, cuon sach nay khong danh cho ban. Nhung neu ban dang tim kiem mot cuon sach de cung co kien thuc, hoac ban chi muon dam bao moi thu ban hieu ve ngon ngu Swift la dung - nhu muc dich cua toi, thi hay mang cuon sach nay theo.
Ban se hoc ve nhung thu rat co ban nhu function, method, constants, control statement, v.v. Ban cung se co co hoi co duoc kien thuc sau ve Stack/Heap allocation, protocol-oriented programming, va generic programming, dieu nay lam cho cong viec hang ngay cua ban thuan tien hon, va ban se thay minh nhu mot bac thay trong ngon ngu Swift.
Bat dau thoi!

Read More

iOS: Mix and Match


Khi Swift đã trở thành ngôn ngữ chủ lực cho phát triển iOS, hầu hết các project iOS mới ngày nay đều được xây dựng bằng Swift. Tuy nhiên, có nhiều thư viện hữu ích được phát triển bằng các ngôn ngữ lập trình cấp thấp khác như Objective-C và / hoặc C++ để tăng hiệu suất. Mặt khác, không phải tất cả các vị trí kỹ sư đều mở cho các project mới, hầu hết họ được tuyển để bảo trì và phát triển các tính năng mới dựa trên codebase hiện tại được xây dựng bằng Objective-C.
Có kiến thức để kết hợp hai ngôn ngữ trong một project duy nhất là tốt cho kỹ năng phát triển iOS của bạn vì bạn sẽ gặp nó một ngày nào đó trong sự nghiệp của mình. Trong bài viết này, tôi sẽ chỉ cho bạn không chỉ cách sử dụng Objective-C và Swift trong một project duy nhất mà còn cách sử dụng một tập hợp các ngôn ngữ lập trình trong một project, bao gồm C++/ Objective-C/ Swift và React Native. Hy vọng bạn sẽ thấy bài viết này thú vị.
Hãy bắt đầu.

Read More

Tích hợp Google Sign In trên ứng dụng MacOS bằng Swift


Là một iOS developer, bạn có thể có cơ hội viết ứng dụng trên Mac OS. Và đôi khi, ứng dụng của bạn yêu cầu người dùng xác thực trước khi họ có thể sử dụng ứng dụng của bạn. Việc bật Google Sign in giúp bạn tiết kiệm rất nhiều thời gian để triển khai luồng xác thực. Đáng tiếc, thiếu tài liệu về cách tích hợp Google Sign in trên ứng dụng MacOS, đặc biệt là trong Swift. Tôi đã từng có cơ hội triển khai tính năng này cho ứng dụng của mình. Bây giờ tôi muốn chia sẻ với bạn cách chúng ta có thể làm điều đó. Hãy bắt đầu.

Read More