Từ web đến 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 phát triển ứng dụng.những 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 với rồi ko, 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 sở hữu chỗ cho sở thích theo mùa.
Điều đấy không với nghĩa lập trình là nghề ko sở hữu 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 rộng rãi hơn và dễ dùng hơn. những công nghệ mới chế tạo một hoặc đa dạng đặ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ứ ko phải đồng bóng.
|
Ảnh minh họa. |
Sau đây là danh sách những xu thế "nóng" và "lạnh" trong giới lập trình viên hiện tại. ko 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 bắt buộc thiết kế đủ đa số thứ nhằm biến mã lệnh thành những bit (0 hay 1) để đưa vào chip silicon. Sau ấy, ai đấy nghĩ ra ý tận dụng thành quả trước đấy. Giờ lại mang ý tưởng tuyệt vời 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ú.
những ngôn ngữ kịch bản như Python hoặc JavaScript từng bị giới hạn chỉ chuyên dụng cho những dự án nhỏ, nhưng giờ chúng đang là nền tảng phát triển ứng dụng quan trọng. những người không thích JavaScript thì tạo ra CoffeeScript, 1 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 cách khác nhau.
Groovy, 1 phiên bản đơn thuần của Java không cần 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ỉ với một. Máy ảo của .Net cũng cho phép chạy rộng rãi ngôn ngữ. Vậy buộc phải đâu cần cần phát minh lại bánh xe!
Nóng: Docker
Lạnh: Hypervisor
Điều này ko đúng lắm. những hypervisor (hệ thống ảo hóa) với 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 phần lớn so sở hữu "ảnh" máy ảo, dễ tiêu dùng và triển khai hơn.
khi sở hữu thể, những nhà tăng trưởng 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 doanh nghiệp 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ọ đề cập.
Nóng: Nền tảng JavaScript MV* frameworks
Lạnh: Tập tin JavaScript
cực kỳ 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 địa chỉ email nhập vào mang đựng dấu @ hay ko. Giờ các ứng dụng HTML Ajax (dựa trên JavaScript) tinh vi tới mức chỉ ít người sở hữu thể viết từ đầu. dùng một nền tảng mang sẵn và viết một ít mã tham chiếu để thực hiện hợp lý nghiệp vụ thì đơn thuần hơn. Hiện với hàng chục nền tảng như Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS… hầu hết đều có thể xử lý các sự kiện và nội dung cho các ứng dụng web và trang website.
bên cạnh ra còn có 1 số biến thể cung ứng nền tảng tăng trưởng cho điện thoại logic và máy tính bảng. những công nghệ như NativeScript, PhoneGap và Sencha Touch là một 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 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 ko còn sử dụng những tập tin thô sơ như vậy nữa. Chỉ nên một thao tác chỉnh màu sẽ tác động khắp các trang. đa số vật dụng được kết nối sở hữu nhau.
đấy chính là điểm mạnh 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 cách sản xuất 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ư không gì mới mẻ lắm về mặt lập trình, nhưng đó là bước tiến to về mặt thiết kế.
Nóng: SVG + JavaScript trên Canvas
Lạnh: Flash
Flash đã khiến người ta phát cuồng đa dạng 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 vô cùng thấp, và phần lớn 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 có khả năng làm cho phổ biến thiết bị như vậy, các hãng vững mạnh 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 phải chăng hơn mang lớp DOM (Document Object Model). SVG và HTML với đông đảo thẻ, thường dễ dùng hơn đối với những nhà lớn mạnh web. Rồi còn với tập hàm API lớn cung ứng 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 clip. hài hòa những điều trên làm ko còn rộng rãi lý do để dùng Flash nữa.
Nóng: Dữ liệu gần lớn (phân tích không bắt buộc Hadoop)
Lạnh: Dữ liệu to (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 những hệ thống dữ liệu lớn to 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 để sử dụng những giải pháp dữ liệu to sang chảnh. kiên cố, hầu hết 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 mọi các doanh nghiệp có cơ sở dữ liệu chứa gọn trong bộ nhớ RAM của máy tính thông thường. Ví dụ một máy tính với 16GB bộ nhớ RAM đủ chứa cả tỷ sự kiện (vài byte mỗi sự kiện). sở hữu hầu hết những thuật toán, dữ liệu không cần phải được đọc vào bộ nhớ bởi vì sở hữu thể lấy từ ổ SSD.
có các nếu 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 rộng rãi nếu với thể xử lý tốt chỉ có 1 máy duy nhất mà không hề rắc rối sở hữu 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ở thành nóng lên làm mô hình Hadoop vươn lên là khá cũ kỹ một chút. Spark vay mượn một số ý tưởng tốt nhất của phương pháp Hadoop để trích xuất ngữ nghĩa từ khối lượng lớn dữ liệu và thực hiện một vài cải tiến khiến cho chương trình chạy nhanh hơn rộng rãi. Cải tiến to nhất sở hữu lẽ là phương pháp Spark giữ dữ liệu trong bộ nhớ sở hữu tốc độ truy xuất nhanh thay vì đòi hỏi hầu hết thứ 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 cách 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 lớn
không ai biết cụm từ "trí tuệ nhân tạo" (AI) mang nghĩa là gì, và điều ấy có ích cho các 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ý khiến cho 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 tốt hơn bao giờ hết để phát hiện tín hiệu trong mớ hỗn độn. những công cụ đủ loại từ framework máy học đến tính toán nhận thức, cho đến Watson của IBM, nhờ đó 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ụ mang độ logic (máy) riêng, chúng hứa hẹn sẽ tiếp quản ngày càng rộng rãi 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 một thời vững mạnh game mang nghĩa là thuê đa dạng nhà lớn mạnh để viết đa số đồ vật từ đầu bằng C. chắc chắn 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à vững mạnh 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 để phát triển game. Họ ko 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ổ lúc game không được viết từ đầu mà được làm cho ra từ cộng 1 nền tảng? tất cả những nhà vững mạnh đề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 website đơn (Single-page website apps)
Lạnh: website
với nhớ khi URL trỏ tới những trang web cất đầ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 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 website thế hệ mới là "mặt tiền" của những cơ sở dữ liệu to sở hữu đầy nội dung. lúc ứng dụng website nên thông tin, nó lấy từ cơ sở dữ liệu và đổ nó vào khung tại chỗ. không phải đánh dấu dữ liệu mang các thông tin nhu yếu để dùng cho cho 1 trang website. Lớp dữ liệu hoàn toàn tách biệt với 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 khía cạnh khác: 1 trang web duy nhất, thiết kế đáp ứng khiến cho việc như một ứng dụng – nhờ vậy giảm thiểu đượ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)
kém chất lượng sử bạn có 1 ý tưởng tuyệt vời cho nội dung di động. Bạn có thể vội vàng viết những phiên bản riêng biệt cho iOS, Android, Windows 8, và mang 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 1 đội phát triển riêng sử 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 mang thể tới được người tiêu dùng.
Hoặc bạn sở hữu thể thiết kế 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 sở hữu thay đổi, bạn ko bắt buộc 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, phương pháp này mang thể cạnh tranh mang các ứng dụng thuần phải chăng hơn.