Thứ Hai, 28 tháng 3, 2016

Bạn nên biết: Một số xu hướng lập trình 'nóng' và 'lạnh'

Từ website tới hệ điều hành và đào tạo, hãy cùng tìm hiểu các xu hướng thời thượng và thoái trào trong lĩnh vực vững mạnh ứng dụng.các lập trình viên thường nhạo báng thế giới phong cách thay đổi xu hướng xoành xoạch. Váy dài rồi ngắn, điểm chấm có rồi không, cà vạt lớn rồi nhỏ. Còn trong thế giới công nghệ, sự chặt chẽ, công nghệ và luật lệ chính xác không có chỗ cho sở thích theo mùa.

Điều đó không với nghĩa lập trình là nghề ko có xu thế. Điều khác biệt là các xu thế lập trình được dẫn dắt bởi tính hiệu quả cao hơn, khả năng tùy biến nhiều hơn và dễ dùng hơn. các công nghệ mới cung ứng một hoặc nhiều đặc tính này làm lu mờ các thế hệ trước. Đây là thế giới của tài năng chứ chẳng phải đồng bóng.

Ảnh minh họa.

Sau đây là danh sách các xu hướng "nóng" và "lạnh" trong giới lập trình viên hiện tại. không phải ai cũng đồng ý danh sách này và đó chính là điều khiến nghề lập trình luôn hấp dẫn: thay đổi nhanh chóng, tranh luận sôi nổi, trở lại đột ngột.

Nóng: Tiền xử lý (preprocessors)
Lạnh: Ngôn ngữ vạn năng (full language stacks)

không lâu trước đây những người tạo ra ngôn ngữ lập trình mới bắt buộc thiết kế đủ đa số trang bị nhằm biến mã lệnh thành các bit (0 hay 1) để đưa vào chip silicon. Sau đó, ai ấy nghĩ ra ý tận dụng thành quả trước đấy. Giờ lại với ý tưởng tuyệt vời chỉ bắt buộc viết 1 bộ tiền xử lý biên dịch mã lệnh mới thành ngôn ngữ mã máy dựa trên tập thư viện và tập hàm API phong phú.

những ngôn ngữ kịch bản như Python hoặc JavaScript từng bị ngừng chỉ chuyên dụng cho các dự án nhỏ, nhưng giờ chúng đang là nền tảng vững mạnh ứng dụng quan trọng. các người không thích JavaScript thì tạo ra CoffeeScript, một bộ tiền xử lý cho phép viết code mà ko phải vất vả ngắt mẫu. với hàng tá các biến thể phân tích và đoán cú pháp theo bí quyết khác nhau.

Groovy, 1 phiên bản đơn thuần của Java không buộc phải ngắt chiếc. Hàng chục ngôn ngữ như Scala hoặc Clojure chạy trên máy ảo Java (JVM), nhưng JVM thì chỉ mang 1. Máy ảo của .Net cũng cho phép chạy rộng rãi ngôn ngữ. Vậy bắt buộc đâu buộc phải buộc phải phát minh lại bánh xe!

Nóng: Docker
Lạnh: Hypervisor

Điều này không đúng lắm. những hypervisor (hệ thống ảo hóa) sở hữu chỗ đứng của chúng, và đa dạng môi trường đóng gói (docker container) chạy bên trong hệ điều hành trên hệ thống ảo hóa (hypervisor). Tuy nhiên, môi trường đóng gói nhỏ hơn đông đảo so mang "ảnh" máy ảo, dễ sử dụng và triển khai hơn.

lúc với thể, những nhà phát triển thích chuyển giao chỉ môi trường đóng gói, do dễ dàng tùy biến trong quá trình triển khai. những công ty như Joyent đang tìm bí quyết rút gọn môi trường đóng gói sao cho sở hữu thể chạy trên "hệ thống tối thiểu", như lời họ kể.

Nóng: Nền tảng JavaScript MV* frameworks
Lạnh: Tập tin JavaScript

vô cùng lâu trước đây, toàn bộ người học viết Javascript để bật lên hộp thông báo hoặc kiểm tra xem liên hệ email nhập vào có đựng dấu @ hay không. Giờ những ứng dụng HTML Ajax (dựa trên JavaScript) tinh vi đến mức chỉ ít người với thể viết từ đầu. dùng 1 nền tảng có sẵn và viết 1 ít mã tham chiếu để thực hiện hợp lý nghiệp vụ thì đơn thuần hơn. Hiện mang hàng chục nền tảng như Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS… đa số đều sở hữu thể xử lý những sự kiện và nội dung cho các ứng dụng website và trang website.

không tính ra còn sở hữu một số biến thể chế tạo nền tảng lớn mạnh cho điện thoại thông minh và máy tính bảng. những khoa học như NativeScript, PhoneGap và Sencha Touch là 1 số lựa chọn để tạo ứng dụng theo công nghệ HTML5

Nóng: CSS framework
Lạnh: CSS tổng quát (Generic Cascading Style Sheets)

Đã sở hữu 1 thời, thêm một chút lôi cuốn cho trang web sở hữu nghĩa là mở tập tin CSS (Cascading Style Sheets) và điền vào câu lệnh như font-style: italic (kiểu chữ nghiêng). Giờ thì trang web không còn sử dụng các tập tin thô sơ như vậy nữa. Chỉ buộc phải 1 thao tác chỉnh màu sẽ tác động khắp các trang. tất cả thứ được kết nối có nhau.

đấy chính là điểm cộng của những CSS framework như Sass và Compass. Chúng khuyến khích việc viết lệnh dễ đọc, ổn định bằng phương pháp cung ứng các cấu trúc lập trình như biến thực, lồng nhau, kế thừa phổ biến lớp... với vẻ như ko gì mới mẻ lắm về mặt lập trình, nhưng đó là bước tiến lớn về mặt xây dựng.

Nóng: SVG + JavaScript trên Canvas
Lạnh: Flash

Flash đã làm cho người ta phát cuồng nhiều năm qua, nhưng những nhà nghệ sĩ luôn thích kết quả đạt được. Việc dựng hình khử răng cưa siêu phải chăng, và rất nhiều nghệ sĩ tài năng đã thiết kế hàng đống mã Flash tạo những hiệu ứng động và chuyển cảnh tinh tế.

Giờ thì JavaScript cũng có khả năng khiến cho nhiều đồ vật như vậy, các hãng phát triển trình duyệt và những nhà tăng trưởng đang hô hào "dẹp" Flash. Họ thấy những định dạng mới như SVG (Scalable Vector Graphics) tích hợp tốt hơn với lớp DOM (Document Object Model). SVG và HTML sở hữu phần lớn thẻ, thường dễ tiêu dùng hơn đối với các nhà phát triển web. Rồi còn mang tập hàm API to cung cấp bản vẽ công phu trên đối tượng Canvas, thường là mang sự trợ giúp của bo mạch video. kết hợp những điều trên làm cho không còn đa dạng lý do để dùng Flash nữa.

Nóng: Dữ liệu gần to (phân tích ko cần Hadoop)
Lạnh: Dữ liệu to (cần Hadoop)

không ngạc nhiên khi cụm từ "dữ liệu lớn" lan truyền trong giới quản lý, họ bắt đầu đòi hỏi các hệ thống dữ liệu lớn to nhất, mạnh mẽ nhất như thể họ sắm 1 dòng du thuyền hay tòa nhà chọc trời.

Điều buồn cười là nhiều vấn đề không đủ lớn để tiêu dùng các giải pháp dữ liệu to sang chảnh. vững chắc, đa số hành động lướt web của chúng ta đều bị những doanh nghiệp như Google hay Yahoo theo dõi; họ có các cơ sở dữ liệu hàng petabyte (1015 bytes) hoặc yottabyte (1018 bytes). Nhưng tất cả những doanh nghiệp với cơ sở dữ liệu cất gọn trong bộ nhớ RAM của máy tính thông thường. Ví dụ một máy tính mang 16GB bộ nhớ RAM đủ chứa cả tỷ sự kiện (vài byte mỗi sự kiện). có mọi các thuật toán, dữ liệu không buộc phải phải được đọc vào bộ nhớ bởi vì mang thể lấy từ ổ SSD.

sở hữu các giả dụ nên thời gian xử lý nhanh của hàng chục máy chạy song song trên đám mây Hadoop, nhưng phổ biến trường hợp có thể xử lý tốt chỉ có một máy duy nhất mà không phải rắc rối có việc phối hợp hoặc thông tin liên lạc.

Nóng: Spark
Lạnh: Hadoop

Việc Spark phát triển thành nóng lên làm cho mô hình Hadoop vươn lên là hơi cũ kỹ một chút. Spark vay mượn một số ý tưởng tốt nhất của cách Hadoop để trích xuất ngữ nghĩa từ khối lượng lớn dữ liệu và thực hiện 1 vài cải tiến khiến cho chương trình chạy nhanh hơn đa dạng. Cải tiến to nhất với lẽ là bí quyết Spark giữ dữ liệu trong bộ nhớ với tốc độ truy xuất nhanh thay vì đòi hỏi hầu hết vật dụng ghi vào hệ thống tập tin phân tán.
phổ biến người đang hợp nhất hai phương thức bằng bí quyết sử dụng tốc độ xử lý của Spark trên dữ liệu được lưu trữ trong hệ thống tập tin phân tán của Hadoop. Chúng là đối tác hơn đối thủ của nhau.

Nóng: Trí tuệ nhân tạo/máy học (machine learning)
Lạnh: Dữ liệu to

ko ai biết cụm từ "trí tuệ nhân tạo" (AI) với nghĩa là gì, và điều đấy sở hữu ích cho những nhà tiếp thị. Họ tóm lấy các thuật ngữ của trí tuệ nhân tạo và nâng tầm phức tạp của các thuật toán xử lý làm việc trên những file log và luồng click chuột của chúng ta. Dựa trên các thuật toán phức tạp với được từ nghiên cứu AI hàng nửa thế kỷ, chúng ta có cơ hội phải chăng hơn bao giờ hết để phát hiện tín hiệu trong mớ hỗn độn. những công cụ đủ mẫu từ framework máy học đến tính toán nhận thức, cho đến Watson của IBM, nhờ ấy giờ bạn có thể nhanh chóng giải quyết các vấn đề của mình. Mỗi công cụ có độ tối ưu (máy) riêng, chúng hứa hẹn sẽ tiếp quản ngày càng nhiều việc phân tích dữ liệu và pháp y cho chúng ta.

Nóng: Game framework
Lạnh: tăng trưởng game từ đầu (native game development)

Đã mang 1 thời tăng trưởng game sở hữu nghĩa là thuê đa dạng nhà phát triển để viết hầu hết thứ từ đầu bằng C. kiên cố tốn hàng đống tiền, nhưng kết quả mỹ mãn. Giờ không ai phung phí như vậy. tất cả những nhà phát triển trò chơi đã từ bỏ sự tự phụ trước đây và tiêu dùng các thư viện như Unity, Corona, hoặc LibGDX để phát triển game. Họ ko còn viết lệnh C phổ biến như lệnh gọi hàm thư viện. sở hữu gì xấu hổ lúc game không được viết từ đầu mà được khiến ra từ cộng 1 nền tảng? mọi các nhà tăng trưởng đều thấy nhẹ nhõm và họ sở hữu thể dành thời gian hơn cho kịch bản, lời thoại, nhân vật và hình ảnh.

Nóng: Ứng dụng trang web đơn (Single-page website apps)
Lạnh: web

có nhớ khi URL trỏ tới các trang website chứa đầy hình ảnh và văn bản tĩnh? Thật đơn thuần khi đưa mọi thông tin vào trong một nhóm các trang website riêng biệt gọi là web. Đội ngũ thiết kế vật lộn hàng giờ mang sơ đồ site để làm cho sao cho nó thật dễ điều hướng.

những ứng dụng web thế hệ mới là "mặt tiền" của các cơ sở dữ liệu lớn mang đầy nội dung. khi ứng dụng web nên thông tin, nó lấy từ cơ sở dữ liệu và đổ nó vào khung tại chỗ. không cần đánh dấu dữ liệu sở hữu các thông tin cần phải có để chuyên dụng cho cho một trang website. Lớp dữ liệu hoàn toàn tách biệt có lớp trình bày và định dạng. Ở đây, sự xuất hiện của điện toán di động lại là 1 chi tiết khác: 1 trang web duy nhất, thiết kế đáp ứng làm việc như 1 ứng dụng – nhờ vậy hạn chế được sự thao túng những nhà hàng ứng dụng.

Nóng: Ứng dụng web di động (Mobile website apps)
Lạnh: Ứng dụng di động thuần (Native mobile apps)

fake sử bạn mang 1 ý tưởng xuất sắc cho nội dung di động. Bạn mang thể vội vàng viết các phiên bản riêng biệt cho iOS, Android, Windows 8, và sở hữu thể cả hệ điều hành BlackBerry hoặc những hệ điều hành khác. Mỗi hệ điều hành yêu cầu 1 đội vững mạnh riêng dùng ngôn ngữ lập trình khác nhau. Sau đó, cửa hàng ứng dụng của mỗi nền tảng "làm luật" trước lúc ứng dụng có thể tới được người sử dụng.

Hoặc bạn mang thể xây dựng một ứng dụng HTML và đặt nó trên một website để chạy trên toàn bộ nền tảng. nếu có thay đổi, bạn ko cần bắt buộc quay lại nhà hàng ứng dụng, cầu xin 1 đánh giá nhanh cho bản sửa chữa lỗi. Giờ thì lớp HTML dựng nhanh hơn và chạy trên chip nhanh hơn, cách này có thể khó khăn mang những ứng dụng thuần thấp hơn.

0 nhận xét:

Đăng nhận xét