Từ web đến hệ điều hành và đào tạo, hãy cùng chọn hiểu những xu hướng 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 thời trang thay đổi xu thế xoành xoạch. Váy dài rồi ngắn, điểm chấm với rồi không, cà vạt lớn rồi nhỏ. Còn trong thế giới kỹ thuật, sự chặt chẽ, khoa học và luật lệ chính xác ko với chỗ cho sở thích theo mùa.
Điều đó ko mang nghĩa lập trình là nghề không có 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 rộng rãi hơn và dễ sử dụng hơn. những công nghệ mới cung ứng 1 hoặc nhiều đặc tính này khiến lu mờ các thế hệ trước. Đây là thế giới của tài năng chứ chẳng hề đồ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 ngày nay. không phải ai cũng đồng ý danh sách này và ấy 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)
ko lâu trước đây các người tạo ra ngôn ngữ lập trình mới bắt buộc thiết kế đủ đa số vật dụng nhằm biến mã lệnh thành các bit (0 hay 1) để đưa vào chip silicon. Sau ấy, ai ấy nghĩ ra ý tận dụng thành quả trước đó. Giờ lại mang ý tưởng logic chỉ phải viết một 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ỉ phục vụ các dự án nhỏ, nhưng giờ chúng đang là nền tảng lớn mạnh ứng dụng quan trọng. các 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à không phải vất vả ngắt cái. với hàng tá những biến thể phân tích và đoán cú pháp theo cách khác nhau.
Groovy, 1 phiên bản đơn thuần của Java không phải ngắt dòng. 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ỉ với một. Máy ảo của .Net cũng cho phép chạy đa dạng ngôn ngữ. Vậy bắt buộc đâu 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à nhiều 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 số đông so sở hữu "ảnh" máy ảo, dễ tiêu dùng và triển khai hơn.
lúc sở hữu 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 quá trình triển khai. các doanh nghiệp như Joyent đang tìm phương pháp 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
siêu 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 có cất dấu @ hay ko. Giờ những ứng dụng HTML Ajax (dựa trên JavaScript) tinh vi đến mức chỉ ít người sở hữu thể viết từ đầu. sử dụng 1 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 giản hơn. Hiện có hàng chục nền tảng như Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS… tất cả đều sở hữu thể xử lý các sự kiện và nội dung cho các ứng dụng website và trang website.
ngoại trừ ra còn có một số biến thể chế tạo nền tảng vững mạnh cho điện thoại thông minh 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 khoa học HTML5
Nóng: CSS framework
Lạnh: CSS tổng quát (Generic Cascading Style Sheets)
Đã với một thời, thêm 1 chút lôi cuốn cho trang web mang 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 website không còn tiêu dùng những tập tin thô sơ như vậy nữa. Chỉ phải 1 thao tác chỉnh màu sẽ tác động khắp các trang. mọi trang bị được kết nối với nhau.
đấy chính là điểm cộng của các CSS framework như Sass và Compass. Chúng khuyến khích việc viết lệnh dễ đọc, ổn định bằng bí quyết cung cấp những cấu trúc lập trình như biến thực, lồng nhau, kế thừa đa dạng lớp... mang 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 thiết kế.
Nóng: SVG + JavaScript trên Canvas
Lạnh: Flash
Flash đã làm người ta phát cuồng rộng rãi năm qua, nhưng các nhà nghệ sĩ luôn thích kết quả đạt được. Việc dựng hình khử răng cưa rất rẻ, và rất nhiều nghệ sĩ tài năng đã làm 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 với khả năng làm nhiều đồ vật như vậy, những hãng vững mạnh trình duyệt và các 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 phải chăng hơn mang lớp DOM (Document Object Model). SVG và HTML mang rất nhiều thẻ, thường dễ sử dụng hơn đối sở hữu các nhà tăng trưởng website. Rồi còn sở hữu 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à sở hữu sự trợ giúp của bo mạch video. hài hòa các điều trên khiến cho không còn rộng rãi lý do để sử dụng Flash nữa.
Nóng: Dữ liệu sắp to (phân tích không nên Hadoop)
Lạnh: Dữ liệu lớn (cần Hadoop)
không 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 to lớn nhất, mạnh mẽ nhất như thể họ mua một dòng du thuyền hay tòa nhà chọc trời.
Điều buồn cười là rộng rãi vấn đề ko đủ lớn để dùng các giải pháp dữ liệu lớn sang chảnh. kiên cố, tất cả hành động lướt website của chúng ta đều bị những doanh nghiệp như Google hay Yahoo theo dõi; họ sở hữu những cơ sở dữ liệu hàng petabyte (1015 bytes) hoặc yottabyte (1018 bytes). Nhưng đa số các doanh nghiệp có 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 có 16GB bộ nhớ RAM đủ cất cả tỷ sự kiện (vài byte mỗi sự kiện). mang toàn bộ những thuật toán, dữ liệu không buộc phải phải được đọc vào bộ nhớ bởi vì có thể lấy từ ổ SSD.
với những giả dụ cầ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 nếu sở hữu thể xử lý phải chăng chỉ mang một máy duy nhất mà không hề 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 trở nên nóng lên làm cho mô hình Hadoop vươn lên là tương đối cũ kỹ một chút. Spark vay mượn 1 số ý tưởng thấp nhất của phương pháp 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 làm cho chương trình chạy nhanh hơn nhiều. Cải tiến lớn nhất mang lẽ là cách Spark giữ dữ liệu trong bộ nhớ với tốc độ truy xuất nhanh thay vì đòi hỏi tất cả thiết bị 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 phương pháp 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) mang 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 những 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 mang được từ nghiên cứu AI hàng nửa thế kỷ, chúng ta mang cơ hội thấp hơn bao giờ hết để phát hiện tín hiệu trong mớ hỗn độn. những công cụ đủ chiếc từ framework máy học tới tính toán nhận thức, cho tới Watson của IBM, nhờ đấy giờ bạn mang thể nhanh chóng giải quyết các vấn đề của mình. Mỗi công cụ với độ tuyệt vời (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: lớn mạnh game từ đầu (native game development)
Đã với 1 thời tăng trưởng game có nghĩa là thuê đa dạng nhà vững mạnh để viết tất cả thiết bị từ đầu bằng C. vững chắ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ả các nhà phát triển trò chơi đã từ bỏ sự tự phụ trước đây và dùng các thư viện như Unity, Corona, hoặc LibGDX để tăng trưởng game. Họ không còn viết lệnh C đa dạng 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 khiến ra từ cộng 1 nền tảng? hầu hết các nhà lớn mạnh đề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 web đơn (Single-page web apps)
Lạnh: web
với nhớ khi URL trỏ tới các trang website đựng đầy hình ảnh và văn bản tĩnh? Thật đơn thuần lúc đưa hầu hết thông tin vào trong một nhóm những trang web riêng biệt gọi là website. Đội ngũ xây dựng vật lộn hàng giờ sở hữu sơ đồ site để làm sao cho nó thật dễ điều hướng.
các ứng dụng web thế hệ mới là "mặt tiền" của những cơ sở dữ liệu lớn mang đầy nội dung. lúc ứ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 bắt buộc đánh dấu dữ liệu có những thông tin cần thiết để phục vụ cho 1 trang web. 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à một yếu tố khác: một trang website duy nhất, làm đáp ứng làm cho việc như một ứng dụng – nhờ vậy hạn chế được sự thao túng những cửa 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)
giả sử bạn sở hữu 1 ý tưởng tuyệt vời cho nội dung di động. Bạn với thể vội vàng viết những 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 bắt buộc một đội phát triển riêng tiêu 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 khi ứng dụng có thể tới được người tiêu dùng.
Hoặc bạn với thể xây dựng 1 ứng dụng HTML và đặt nó trên một website để chạy trên hầu hết nền tảng. giả dụ mang thay đổi, bạn ko buộc phải cần quay lại cửa 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, bí quyết này sở hữu thể khó khăn mang các ứng dụng thuần rẻ hơn.