Thứ Hai, 28 tháng 3, 2016

Tìm hiểu: một vài xu hướng lập trình 'nóng' và 'lạnh'

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

Điều đấy ko với nghĩa lập trình là nghề không sở hữu xu thế. Điều khác biệt là những xu hướng 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 phổ biến hơn và dễ sử dụng hơn. các công nghệ mới sản xuất 1 hoặc phổ biến đặc tính này làm cho lu mờ những thế hệ trước. Đây là thế giới của tài năng chứ không phải đồng bóng.

Ảnh minh họa.

Sau đây là danh sách các xu thế "nóng" và "lạnh" trong giới lập trình viên hiện nay. chẳng phải ai cũng đồng ý danh sách này và ấy chính là điều làm cho 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)

ko lâu trước đây những người tạo ra ngôn ngữ lập trình mới phải thiết kế đủ tất cả thiết bị nhằm biến mã lệnh thành những bit (0 hay 1) để đưa vào chip silicon. Sau đó, ai đấy nghĩ ra ý tận dụng thành quả trước đó. Giờ lại có ý tưởng tối ưu chỉ nên 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ú.

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

Groovy, một phiên bản đơn thuần của Java ko cần ngắt mẫu. 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ỉ có 1. Máy ảo của .Net cũng cho phép chạy đa dạng ngôn ngữ. Vậy buộc phải đâu cần 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. các hypervisor (hệ thống ảo hóa) có chỗ đứng của chúng, và rộng rãi 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 đa số so sở hữu "ảnh" máy ảo, dễ tiêu dùng và triển khai hơn.

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

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

rất lâu trước đây, hầu hết 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 mang chứa dấu @ hay không. Giờ các ứng dụng HTML Ajax (dựa trên JavaScript) tinh vi tới mức chỉ ít người có thể viết từ đầu. dùng một nền tảng có sẵn và viết 1 ít mã tham chiếu để thực hiện thông minh 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… toàn bộ đều với thể xử lý những sự kiện và nội dung cho những ứng dụng web và trang website.

ngoại trừ ra còn mang 1 số biến thể chế tạo nền tảng vững mạnh cho điện thoại logic và máy tính bảng. các công nghệ như NativeScript, PhoneGap và Sencha Touch là 1 số lựa tìm để 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)

Đã mang 1 thời, thêm 1 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 dùng các tập tin thô sơ như vậy nữa. Chỉ phải một thao tác chỉnh màu sẽ tác động khắp những trang. tất cả thiết bị được kết nối sở hữu nhau.

ấy chính là ưu thế 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 cấp những cấu trúc lập trình như biến thực, lồng nhau, kế thừa nhiều lớp... có vẻ như ko gì mới mẻ lắm về mặt lập trình, nhưng ấy 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 phổ biến 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 cực kỳ tốt, và hầu hết nghệ sĩ tài năng đã xây dựng hàng đống mã Flash tạo các hiệu ứng động và chuyển cảnh tinh tế.

Giờ thì JavaScript cũng với khả năng làm rộng rãi đồ 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 các định dạng mới như SVG (Scalable Vector Graphics) tích hợp thấp hơn sở hữu lớp DOM (Document Object Model). SVG và HTML mang đông đảo thẻ, thường dễ sử dụng hơn đối sở hữu những nhà lớn mạnh web. Rồi còn có tập hàm API lớn cung cấp bản vẽ công phu trên đối tượng Canvas, thường là với sự trợ giúp của bo mạch clip. kết hợp các điều trên khiến không còn phổ biến lý do để tiêu dùng Flash nữa.

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

ko ngạc nhiên lúc 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 lớn nhất, mạnh mẽ nhất như thể họ sắm 1 cái du thuyền hay tòa nhà chọc trời.

Điều buồn cười là nhiều vấn đề ko đủ lớn để tiêu dùng những giải pháp dữ liệu to sang chảnh. kiên cố, tất cả hành động lướt web của chúng ta đều bị các công ty 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 toàn bộ các công ty có cơ sở dữ liệu đựng gọn trong bộ nhớ RAM của máy tính thông thường. Ví dụ 1 máy tính sở hữu 16GB bộ nhớ RAM đủ đựng cả tỷ sự kiện (vài byte mỗi sự kiện). với tất cả các thuật toán, dữ liệu không bắt buộc bắt buộc được đọc vào bộ nhớ bởi vì mang thể lấy từ ổ SSD.

mang các ví như 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 nhiều ví như với thể xử lý rẻ chỉ sở hữu một máy duy nhất mà ko phải rắc rối mang 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 khiến mô hình Hadoop phát triển thành hơi cũ kỹ 1 chút. Spark vay mượn 1 số ý tưởng rẻ nhất của bí quyết Hadoop để trích xuất ngữ nghĩa từ khối lượng to dữ liệu và thực hiện một vài cải tiến khiến chương trình chạy nhanh hơn đa dạng. Cải tiến lớn nhất với lẽ là phương pháp Spark giữ dữ liệu trong bộ nhớ với tốc độ truy xuất nhanh thay vì đòi hỏi mọi đồ vật ghi vào hệ thống tập tin phân tán.
rộng rãi 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

không ai biết cụm từ "trí tuệ nhân tạo" (AI) với nghĩa là gì, và điều ấy với ích cho những nhà tiếp thị. Họ tóm lấy những 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 cho việc trên các 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 sở hữu được từ nghiên cứu AI hàng nửa thế kỷ, chúng ta với cơ hội rẻ hơn bao giờ hết để phát hiện tín hiệu trong mớ hỗn độn. các công cụ đủ mẫu từ framework máy học đến tính toán nhận thức, cho tới Watson của IBM, nhờ đó giờ bạn sở hữu thể nhanh chóng giải quyết những vấn đề của mình. Mỗi công cụ sở hữu độ hợp lý (máy) riêng, chúng hứa hẹn sẽ tiếp quản ngày càng phổ biến việc phân tích dữ liệu và pháp y cho chúng ta.

Nóng: Game framework
Lạnh: phát triển game từ đầu (native game development)

Đã mang 1 thời phát triển game có nghĩa là thuê đa dạng nhà tăng trưởng để viết toàn bộ trang bị từ đầu bằng C. cứng cáp tốn hàng đống tiền, nhưng kết quả mỹ mãn. Giờ không ai phung phí như vậy. mọi các nhà lớn mạnh trò chơi đã từ bỏ sự tự phụ trước đây và sử dụng các thư viện như Unity, Corona, hoặc LibGDX để vững mạnh game. Họ ko còn viết lệnh C nhiều như lệnh gọi hàm thư viện. sở hữu gì xấu hổ khi game ko được viết từ đầu mà được làm cho ra từ cộng một nền tảng? mọi các nhà tăng trưởng đều thấy nhẹ nhõm và họ với 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 website đơn (Single-page web apps)
Lạnh: web

sở hữu nhớ khi URL trỏ tới những trang website đựng đầy hình ảnh và văn bản tĩnh? Thật đơn giản lúc đưa tất cả thông tin vào trong 1 nhóm những trang website riêng biệt gọi là website. Đội ngũ xây dựng vật lộn hàng giờ có sơ đồ site để khiến cho sao cho nó thật dễ điều hướng.

những ứng dụng website 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 bắt buộc thông tin, nó lấy từ cơ sở dữ liệu và đổ nó vào khung tại chỗ. không buộc phải đánh dấu dữ liệu có những thông tin cần thiết để phục vụ cho 1 trang website. Lớp dữ liệu hoàn toàn tách biệt sở hữu 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 website duy nhất, xây dựng đáp ứng khiến cho việc như một ứng dụng – nhờ vậy tránh được sự thao túng những nhà hàng ứng dụng.

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

nhái 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à với thể cả hệ điều hành BlackBerry hoặc các hệ điều hành khác. Mỗi hệ điều hành đề nghị một đội tăng trưởng riêng dùng ngôn ngữ lập trình khác nhau. Sau ấy, 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ể đến được người sử dụng.

Hoặc bạn có thể làm 1 ứng dụng HTML và đặt nó trên 1 web để chạy trên mọi nền tảng. ví như có thay đổi, bạn không cần phải quay lại cửa hàng ứng dụng, cầu xin một đá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, phương pháp này có thể khó khăn sở hữu những ứng dụng thuần tốt hơn.

0 nhận xét:

Đăng nhận xét