Tuesday, January 16, 2018

9 xu hướng code và framework trong năm 2018 mà bạn cần phải để mắt tới

Năm 2017 là một năm đầy biến động cho các nhà phát triển. Đối với một số hệ sinh thái thì năm nay cũng khôn xiết bận rộn. Thậm chí C ++ còn phát hành một phiên bản tiêu chuẩn mới vào năm 2017. Chính cho nên mà chúng ta phải xem lại những đổi thay lớn này và nhận thức được ảnh hưởng từ chúng tạo ra.

TechBeacon đã phỏng vấn các chuyên gia về microservices, dữ liệu khoa học, Java, JavaScript và Android để tổng hợp những đổi thay của hệ sinh thái – ecosystem đã xảy ra trong năm ngoái cũng như các thiên hướng trong năm 2018.

tụ hội nhiều hơn vào cấu trúc mới và microservices data distribution

Mark Richards, tác giả của Patterns Architecture Patterns, cho biết kiến ​​trúc mới ( Evolutionary architecture ) và tự động hóa quản lí và phân tách cấu ​​trúc sẽ là trọng điểm chính của các công ty phần mềm vào năm 2018. Để hiểu rõ thêm về thiên hướng cấu ​​trúc phần mềm mới nhất, ông khuyên bạn nên đọc Building Evolutionary Architectures của Ford.

Nó không chỉ là xúc tiến việc chuyển đổi sang các microservices. Mà nó là về hội tụ vào sự phát triển của kiến ​​trúc có thể xử lý và bất chất những đổi thay khác nhau theo thời kì. Miễn là cấu ​​trúc nó có thể thõa mãn 3 tiêu chí sau …

  • Mô đun và khớp nối mở
  • ăn nhập với khả năng phát triển và kinh doanh của công ty
  • Chi phí vận hành ít tốn kém

… Nó không chỉ là microservices mà là một cấu trúc với khả năng tiến hóa.

Richards cho biết, về sự phát triển của microservices, nhiều tổ chức đã tìm ra cách làm chúng. tuy thế, việc phân bố dữ liệu (data distribution) vẫn là một khía cạnh khó khăn trong việc phá vỡ kiến ​​trúc khối.

Ông cho rằng nhiều công ty công nghệ sẽ gặp trở lực này vào năm 2018. “hồ hết các công ty đều đã tìm ra phần chức năng và kỹ thuật của các microservices bây giờ”, ông nói, “nhưng phần khó khăn nhất của các microservices vẫn là dữ liệu.”

Serverless sẽ tiếp chuyện phát triển với AWS Lambda thống lĩnh thị trường

Bradley Holt, cố vấn phát triển và kỹ sư cấp cao của IBM, cho rằng năm 2018 sẽ là năm mà serverless sẽ được các developer chào đón. “Các chức năng như một dịch vụ (FaaS) cho phép các developer soạn các áp dụng và dịch vụ với khả năng mở mang công suất và điều chỉnh tổn phí dựa trên nhu cầu”, ông nói.

AWS Lambda là tuyển lựa tốt nhất khi nói tới serverless platform cho hồ hết các developer. Và mặc dầu công nghệ serverless vẫn còn mới, AWS sẽ đấu chiếm lĩnh thị trường serverless trong năm 2018, giống như nó thống trị trong các lĩnh vực của Cloud.

Data scientist – ngành khoa học dữ liệu sẽ trở thành quan trọng hơn

Holt cho biết: “Các developer đang bắt đầu nhận ra tiềm năng to lớn của khoa học dữ liệu cũng như các công nghệ như machine learning, artificial intelligence, và xử lí tiếng nói tự nhiên”. Ông dự đoán sự tăng cường trong hợp tác giữa các nhà phát triển vận dụng và các nhà khoa học dữ liệu, để tiếp cải thiện machine learning và các công nghệ liên quan.”

Richards cũng đồng ý rằng “khoa học dữ liệu đang ở khắp mọi nơi”, bằng cớ là sự phát triển của R (một tiếng nói lập trình thống kê) và các thư viện khoa học dữ liệu của Python vào năm 2017. Sự tăng trưởng này sẽ tiếp chuyện vào năm 2018, nhờ vào tầm ảnh hưởng mạnh mẽ của công nghệ trí sáng ý nhân tạo (AI).

Java sẽ trở thành sôi động hơn bao giờ hết

Martijn Verburg, lead của cộng đồng Java London, cho biết năm 2017 là một năm đáng nhớ đối với quá trình phát triển của Java.

Với Java SE chuyển sang chu kỳ phát hành 6 tháng , các component JDK của Oracle sẽ chuyển sang OpenJDK nguồn mở và Java EE chuyển sang Eclipse. Verburg nói. “Chúng ta sẽ thấy Java SE phát hành thẳng, với nhiều tính năng hơn.”

Những đổi thay này dẫn tới một cuộc tranh biện lớn xảy ra năm ngoái, khi phần đông ủy ban điều hành cộng đồng Java đã bỏ phiếu chống lại dự án Jigsaw, một đề xuất thực hiện mô-đun Java. Verburg và những người khác lo âu rằng Jigsaw sẽ làm hại Java, bởi thế họ đã yêu cầu sửa đổi.

“Mark Reinhold và Oracle đã lắng tai chúng tôi và thực hành những đổi thay,” ông Verburg nói.

Không lâu sau đó, Oracle yêu cầu OpenJDK chuyển sang phát hành hai lần mỗi năm cho các phiên bản Java mới, một biện pháp mà cộng đồng hoan nghênh. Việc phát hành chậm – thường mất một năm hoặc nhiều hơn để hoàn thành – là một vấn đề chết người của Java.

Java EE (hiện nay là EE4J) sẽ lên cloud-native

Sự đóng góp của Oracle cho Java Enterprise Edition (Java EE), với Eclipse đổi tên thành EE4J, là một thay đổi lớn khác cho Java vào năm 2017.

Quỹ Eclipse cũng phát hành MicroProfile, một platform tối ưu hóa EE4J cho các microservices. Cùng nhau, EE4J và MicroProfile sẽ nâng cao các API Java EE vào năm 2018, biến chúng thành các API cân xứng với đám mây, không đồng bộ và ăn nhập với microservice.

Theo trang web của MicroProfile, cộng đồng MicroProfile không muốn ứng dụng một tiêu chuẩn khô khan vì nó sẽ làm chậm lại sự đổi mới. Thay vào đó, nó muốn cho phép các dự án trong MicroProfile để đổi mới.

MicroProfile nên giúp các nhà phát triển Java chuyển sang các dịch vụ microservice – đặc biệt là những người vẫn thích khai triển Java EE / EE4J (thí dụ CDI) qua Spring Framework (Spring DI). Tuy nhiên, các developer không quan hoài đến việc sử dụng Spring ecosystem cũng như Spring Boot , một framework xây dựng microservice cho các nhà phát triển Java, đã được ra mắt từ nhiều năm trước.

Java 10 sẽ kèm theo những cải thiện hiệu năng lớn

Năm ngoái, Verburg dự đoán rằng Java 9 sẽ không có tác động nhiều như Java 8, và cho đến nay đã thực thụ đó là những gì đã xảy ra. Java 9 có những thay đổi lớn sẽ có thể làm chậm lại việc vận dụng, vì nó buộc các nhà phát triển phải cập nhật một số vận dụng của họ để dùng hệ thống mô-đun mới. Đó cũng là một trong những căn nguyên cho việc công ty phải phát hành ngôn ngữ bộc trực hơn đến năm 2018.

Tuy nhiên, Java 10 , với nhiều cải tiến hiệu năng, mà các developer chắc chắn sẽ chẳng thể bỏ qua, Verburg cho biết. Sau đây là những điểm trội trong phiên bản Java 10:

JEP 286: Local-Variable Type Inference – Nó sẽ làm cho mã Java rõ ràng và ngắn gọn hơn.

JEP 296: Hợp nhất các JDK vào thành một Repository – cải thiện quá trình phát triển của OpenJDK.

JEP 304: Garbage-Collector Interface – Giúp Shenandoah và các garbage collection hoạt động dễ dàng hơn.

J EP 307: Parallel Full GC cho G1 -Giúp tăng hiệu suất rõ rệt cho garbage collection.

JEP 310: Application Class-Data Sharing – Một tính năng nâng cao hiệu suất khác.

JEP 312: loại bỏ Native-Header Generation Tool (javah) – Do javac là phiên bản tốt hơn.

JEP 313: Xóa phương tiện tạo tiêu đề gốc (javah) – Loại bỏ công cụ javah vì javac, có mục đích rưa rứa, có chức năng vượt trội.

JEP 314: Thêm Unicode Language-Tag Extensions – áp dụng thêm các Unicode extension trong Unicode Locale Data Markup Language (LDML) specification .

JEP 316: Giúp Phân bổ các thiết bị bộ nhớ thay thế -mở mang nơi mà Java có thể chạy.

JEP 317: Dự án Java-Based JIT Compiler -Chuẩn bị cho dự án Graal, điều này sẽ làm cho việc viết một chương trình lập trình và tối ưu hóa thời gian chạy trong Java.

JEP 319: chứng thực gốc ( Root Certificates )- Tăng cường bảo mật.

JEP 322: Time-Based Release Versioning – Lược đồ các phiên bản update hợp lý hơn.

Kotlin sẽ nhận được sự tương trợ nhiều hơn từ Android

Như dự đoán, tiếng nói lập trình Kotlin đã đạt được nhiều đột phá trong năm ngoái. Từ khi trở nên tiếng nói chính thức cho các ứng dụng của Android tại Google I / O, việc dùng nó trong các developer Android đã tăng lên đáng kể. Do đó, nhà phát triển Android và nhà phân phối TechBeacon Aritra Roy cũng hy vọng Kotlin sẽ tiếp kiến tăng trưởng mạnh vào năm 2018.

Ông nói: “Vẫn còn rất nhiều tài liệu Java đang chờ được chuyển đổi sang Kotlin. Ông cũng mong muốn Google đầu tư nhiều nguồn lực hơn vào Architecture Components library .

“Một nguyên tố khác cũng sẽ mang tính đột phá trong Android vào năm 2018 là AI”, Roy nói. “Sẽ có nhiều AI phức tạp, hoạt động trên chính Android OS, cho phép các developer có thể tận dụng chúng.”

đợi mong sự phát triển của CSS và cải tiến liên tục trong JavaScript

Theo ông Ryan Lewis, kỹ sư phần mềm của Kuali, contributor và diễn giả của Node.js, tuy JavaScript sẽ không có tính năng mới huých mỗi năm, nhưng ít ra nó cũng bổ sung đều đặn hàng năm.

“Phiên bản ESMA7 [ES2017] của ECMAScript đã không có nhiều điều mới mẻ với tính năng chính là async/await “, ông nói. Bản phát hành cũng bao gồm một đôi bổ sung nhỏ cho API, chả hạn như các function mới.

Thật tốt là async/await đã được cộng động chào đón và tiếp thụ, đặc biệt là trên Node.js, ông Axel Rauschmayer cho biết. Ông cũng thích các bổ sung công cụ cho hệ sinh thái JavaScript, như Prettier, giúp đưa automatic source code formatting sang JavaScript.

Các tính năng trong phiên bản tiếp theo của JavaScript (ES2018) vẫn chưa được hé lộ chi tiết rõ ràng, Rauschmayer cho biết, nhưng ông khá phấn khích về những tính năng tiềm năng này:

Rest/spread properties

Lặp không đồng bộ

Dynamic import() của modules

Đặt tên capture groups cho các biểu thức bình thường

BigInt (số nguyên xác thực)

Các fields riêng cho objects

Các phương thức array mới: .flatMap () và .flatten ()

Các thay đổi trong JavaScript / ECMAScript đang bắt đầu ít dần sau vài năm liên tục cập nhật những tính năng mới. Trey Huffine, người sáng lập Gitconnected cho biết, nhưng ông cũng hy vọng CSS sẽ có bước tiến lớn vào năm 2018.

Ông nói: “Chúng ta sẽ thấy một sự tiến triển nhanh chóng trong CSS giống như những gì JavaScript đã trải qua trong vài năm trước. Với sự ổn định của JavaScript, các developerhầu như đồng ý rằng component architecture là cách tốt nhất để xây dựng các vận dụng web đương đại, cộng đồng front-end sẽ nỗ lực giải quyết các vấn đề với CSS và hướng tới một giải pháp chung hiệp với cách chúng ta “tái cấu ​​trúc “”.

WebAssembly cũng có thể có tác động lớn đến hệ sinh thái của JavaScript. Huffine nói: “Trong khi tôi không chắc chắn về những ảnh hưởng của nó, tôi tin rằng chúng ta sẽ thấy WebAssembly được nói về và dùng nhiều hơn vào năm 2018”. Ông tin rằng “Nó cung cấp những cải tiến mạnh mẽ cho web.”

Node.js sẽ sống khỏe trong thị phi khi các cải thiện hiệu suất được đưa ra

Node.js sẽ vẫn tiếp chuyện được phát triển, với kế hoạch release hai lần mỗi năm, bao gồm một bản phát hành dịch vụ dài hạn hàng năm. Có thể nới đây là một ích lớn cho người dùng doanh nghiệp. Node cũng cung cấp hồ hết các tính năng trong ES2017, và trình Node.js package manager (NPM) cũng đã được cập nhật thẳng băng.

Năm 2016, Facebook tung ra Yarn Node.js package manager, lung tung thành công tới mức nó đe dọa các NPM máu mặt khác. Vào thời điểm đó, Lewis nghĩ rằng NPM sẽ không bị đẩy sang một bên, nhưng thay vào đó sẽ ưng các tính năng tốt nhất của Yarn.

Hóa ra ông đã nói đúng. Vào năm 2017, NPM đã đưa ra bản cập nhật chính với các tính năng của Yarn.

Tuy nhiên, Rauschmayer vẫn có một mong muốn với NPM năm 2018: “cộng đồng sẽ thiết lập các lệ luật tốt nhất được xác định rõ ràng để xuất bản các NPM modules được tạo ra chuẩn y các compiler sang JavaScript, chẳng hạn như Babel hoặc Typescript.”

Node.js đã có một năm đầy khó khăn. Khi các serverless platforms đã trở thành phổ biến hơn, việc liên tiếp cập nhật các bản patch bảo mật trở thành quan yếu hơn đối với các nhà cung cấp dịch vụ Cloud.

“Khi Node.js truyền đến các góc khác nhau của web, việc nâng cấp trở thành khó khăn”, Lewis nói. “Google đã nâng cấp phiên bản Node.js cho Cloud Functions trong vòng một tuần sau khi những lỗ hổng nghiêm trọng nhất được tiết lậu năm ngoái, nhưng Amazon thì mất tới hàng tháng trời”, ông nói.

Ngoài ra, các vấn đề trong cộng đồng của Node.js đã dẫn đến sự tan rã của Node.js Core Technical Committee (CTC) vào năm 2017. “Điều này dẫn đến một số kẻ xấu trong cộng đồng hành hoành, nhưng cũng mang lại một số kết quả tích cực”, Lewis nói. “Nhóm kiểm duyệt đã được thành lập, với tôi là chủ tịch nhất thời, để làm rõ và tiêu chuẩn hóa các hoạt động kiểm duyệt”. đích được đặt ra là bảo đảm rằng cộng đồng Node.js là một nơi an toàn cho mọi người trao đổi về công nghệ và đóng góp cho nền tảng.

Tin trội nhất của Node.js là sự hỗ trợ cho các mô-đun ES6 (các mô đun được chuẩn hóa trong tiếng nói ECMAScript / JavaScript) trong Phiên bản 9. “Đây là một quyết định có ảnh hưởng rất lớn, với nhiều người ca cẩm tranh biện về việc thực hiện đúng các mô-đun ES6” Lewis nói. “Nhiều người cho rằng phần mở mang tập tin mới này sẽ gây phân mảnh hệ sinh thái Node.js.”

Rauschmayer nói ông hy vọng các môđun ES chung cục sẽ làm việc liên tục trên các nền tảng. “Đối với Node.js, quá trình chuyển sang mô-đun ESD khó khăn hơn nhiều so với các trình duyệt khác vì hệ thống mô-đun của nó phải hoạt động đồng bộ”, ông nói.

Node.js cho ra hai phiên bản mới vào năm 2018: 10 LTS và 11. Lewis không chờ mong nhiều tính năng mới, nhưng thay vào đó là nhiều cải thiện về hiệu năng.

React cai trị bữa nay; ReasonML có thể là kẻ tiếp theo

React vẫn duy trì vị trí độc tôn của nó trên thị trường cho các frame-work front-end, theo State of JavaScript . Angular đấu trên đà giảm, trong khi Vue tiếp phát triển (đặc biệt là ở Trung Quốc). React phiên bản 16, được phát hành vào năm ngoái, tăng hiệu năng bằng cách viết lại nội dung bên trong framework song song giữ cho API thống nhất.

mặc dầu vậy, framework front-end đã có một cuộc khủng hoảng năm ngoái khi Apache Software Foundation đã cho React và các phần mềm khác do Facebook sản xuất vào danh sách các dự án mà nó không xem là nguồn mở vì các mô hình đề nghị giấy phép. Do đó mà Facebook đã quyết định loại bỏ các điều khoản gây tranh cãi từ giấy phép của nó.

React hiện có vị trí tốt để cai trị vào năm 2018 và hơn thế nữa, Rauschmeyer cũng lạc quan về các công nghệ phát triển web khác xuất hiện trên Facebook.

Ông nói: “Tôi rất mừng về ReasonML, một ngôn ngữ lập trình chức năng mới”. “Tôi thích thiết kế sạch sẽ của nó dựa trên ngôn ngữ lập trình OCaml và cũng như khả năng tương tác tốt với JavaScript.”

Facebook phát hành ReasonML vào năm 2017, và Axel dự đoán sẽ có thêm nhiều phát hành mã nguồn mở từ Facebook trong năm nay. “Hãng sẽ phát hành các dịch vụ mới trong những lĩnh vực khác nhau, chả hạn như các framework web Node.js”, ông nói.

Lời kết

Dưới đây là những điều sẽ có tác động lớn nhất đối với các developer trong năm 2018:

Tìm các công ty mà bạn tin cậy để xử lý những vấn đề về an ninh ảnh hưởng học lập trình php ở đâu đến bạn sẽ là một thách thức quan trọng.

Cộng đồng developer sẽ tiếp tục gây áp lực nhiều hơn cho các tổ chức và công ty không tạo ra môi trường toàn diện.

Hãy chẩn bị tinh thần cho một sự thúc đẩy to lớn trong việc áp dụng mô đun, vì cả Java lẫn JavaScript đều hỗ trợ các module.

Data science và machine learning sẽ trở nên càng quan trọng hơn với các công ty công nghệ.

Các developer sẽ nhận ra có nhiều lợi ích từ việc sử dụng serverless platforms.

Techtalk via techbacon

0 comments:

Post a Comment