Xu hướng lập trình: Chờ đợi gì trong năm 2017?
Nội dung chính
Ngôn ngữ
Những ngôn ngữ dưới đây được xem là dễ kiếm việc nhất, nhưng có thể không phải là ngôn ngữ lập trình được trả lương cao nhất. Và quan trọng hơn hết là mấy ngôn ngữ này thông dụng, gần gũi với chúng ta hơn với cộng đồng đông đảo.
PHP 7
Một năm 2016 bận rộn của cộng đồng PHP sau khi PHP 7 chính thức phát hành. Các framework khẩn trương chỉnh sửa để có thể chạy được trên môi trường PHP 7 một cách hoàn thiện, hầu hết các php framework hiện nay đã chạy ổn định trên PHP 7, ngay cả những extension đặc biệt cho Mongodb. Vì vậy, đừng ngần ngại cài đặt PHP 7 lên máy chủ của bạn để cảm nhận sự khác biệt, cũng như viết những dòng mã của bạn với tính năng của PHP 7 mang lại.
Năm 2017 sẽ không có gì đặc biệt cho cộng đồng lập trình viên PHP, khi hầu hết các framework đã hỗ trợ PHP 7 rồi (Laravel 5, Yii 2, Symfony 3, CakePHP 3, WordPress 4). Điều quan trọng còn lại là bạn có tham gia vào xu hướng này hay không?
Swift 4
Sau khi Swift 3 phát hành (09/2016) chưa nguội thì Apple đã rục rịch chuẩn bị kết hoạch cho phiên bản Swift 4, dự kiến là cuối năm nay 2017. Khi mà giờ đây Swift có thể viết được mã chạy ở phía server (Tham khảo Perfect), thì cộng đồng lập trình viên sử dụng Swift có thể tự do sáng tạo và khởi nghiệp chỉ bằng ngôn ngữ Swift.
Javascript/Typescript
Javascript ES2015 rõ ràng là sự thách thức với Typescript, mặc dù điểm cuối đều là javascript, nhưng đã được tách biệt thành hai hướng đi cho dù có sự tương đồng nhất định về cú pháp, cách viết. Typescript là sự cải thiện cho javascript tương tự như cách PHP 7 cải thiện PHP ở việc kiểm tra cú pháp, loại dữ liệu. Với Javascript thuần ta có thể sử dụng Flowtype
Go/Golang
Kể từ lúc mình dùng Go để viết bot lấy dữ liệu (crawler, scrapper) thì thực sự rất kết ngôn ngữ lập trình có tốc độ cao này. Hơn nữa, còn có thể kết hợp với ReactReact để tạo ra Universal Web App nữa (Go starter kit).
Go là ngôn ngữ mới có tuổi đời 7 năm, nên vẫn còn trong giai đoạn hoàn thiện (hiện tại đang 1.7), chính vì vậy mục tiêu trong năm 2017 này là hoàn thiện một số tính năng đưa lên phiên bản 1.8, 1.9. Có lẽ phiên bản 2.0 sẽ cần 1 sự đột phá hơn do vậy phải chờ qua 2018.
Một số ngôn ngữ lập trình khác
Java, Rust, Ruby, Hack, Rust, Julia, Scala, Dart… quá chừng luôn, mỗi ngôn ngữ đều có độ trùm nhất định trong một số lĩnh vực, tuy nhiên vì không có kiến thức liên quan cũng như nhận thấy xu hướng không thực sự cao nên mình không quan tâm.
Frontend Framework
Đây có lẽ là cuộc chiến khốc liệt nhất trong những năm vừa qua, vì vậy mình tách riêng rành phần riêng. Mặc dù có thể gọi là nấm mọc sau mưa nhưng hiện tại có thể gọi tên 3 framework thực sự cạnh tranh với nhau là AngularJS[2], ReactJS và VueJS.
Điểm cơ bản là đều có sao cao ở Github, mặc dù repo Angular chỉ đạt 21k so với 45k của Vue, 61k của React tại thời điểm viết bài, tuy nhiên không thể nói Angular thua về mức độ được sử dụng và phổ biến (dự án thực tế, bài viết).
Chỉ có thể khẳng định một điều, cho dù bạn chọn hướng đi nào thì bạn vẫn không hề tụt hậu trong vòng 2-3 năm tới.
Mobile Javascript Framework
Ionic đã ra mắt bản 2 từ 01/2017, sử dụng Angular 2.
React Native vẫn sẽ tiếp tục thống trị ở phân khúc Mobile Javascript Framework.
Xu hướng mới với Javascript
Virtual Reality (VR)
Thực tế ảo https://github.com/facebookincubator/react-vr
Augmented Reality (AR)
Tương tác thực tế với tốc độ 60fps
https://github.com/jeromeetienne/AR.js
Progressive Web Apps (PWA)
Kết