• Thứ Hai, 23/06/2014 09:06 (GMT+7)

    Những xu hướng lập trình đang nổi trong làng công nghệ

    Thạch An
    Những xu hướng, công cụ lập trình mới đang góp phần vào sự thay đổi của thế giới công nghệ. Giới lập trình không dễ thay đổi nền tảng của mình nhưng các xu hướng đang dần giải phóng sức lao động cho họ.

    Trong thế giới của công nghệ thì những tính chất nền tảng như sự chặt chẽ, khoa học, công thức hay quy tắc được ưu tiên hàng đầu và quan trọng hơn các xu thế lập trình. Nhưng điều đó không có nghĩa là môn lập trình không có xu hướng, các công nghệ mới có khả năng tăng hiệu quả cao, độ tùy biến mở rộng, dễ sử dụng, liên tục thay đổi và có khả năng làm lu mờ các thế hệ đi trước.

    PC World VN giới thiệu những xu hướng đang nóng trong giới lập trình viên ngày nay. Danh sách này không hẳn tuyệt đối với tất cả nhưng những thay đổi nhanh chóng, những cuộc tranh luận đầy đam mê hay sự trở lại đột ngột của một công nghệ nào đó là những gì đã làm cho nghề lập trình trở nên luôn hấp dẫn.

    Xu hướng đang nóng: Preprocessors - tiền xử lý

    Cách đây không lâu, việc tạo ra một ngôn ngữ lập trình mới có nghĩa là xây dựng tất cả mọi thứ để biến các đoạn mã thành các bit chỉ thị cho máy tính. Sau đó, một người nào đó đã tìm ra cách để mã nguồn của một ngôn ngữ ban đầu sang dạng mã mới ở một ngôn ngữ cấp thấp hơn. Bây giờ mọi người đã sử dụng một ý tưởng thông minh hơn khi chỉ cần viết một biên dịch mã tiền xử lý mới kết hợp với kho tài nguyên phong phú của các thư viện và các API.

    Tiền xử lý giúp các nhà lập trình trở nên dễ dàng hơn.

    Ngôn ngữ lập trình Groovy là một trong những công cụ được yêu thích hiện nay với khả năng hoạt động trên JVM và hòa nhập thông suốt đối với ngôn ngữ Java. Goovy sử dụng cú pháp gần giống với Java nhưng nó không sử dụng dấu chấm phẩy ở cuối mỗi dòng, và nó được tự động dịch sang bytecode và chạy trên máy ảo Java. Những người muốn sửa JavaScript để biên dịch thành CoffeScript thì có thể sử dụng một Preprocessors cho phép mã hóa mà không sử dụng dấu chấm câu. Hàng chục ngôn ngữ như Scala hay Clojure đều chạy trên JVM nhưng lại chỉ có một JVM duy nhất. Groovy có thể tích hợp thông suốt đối với mã nền hiện nay của lập trình viên. Groovy không thay thế ngôn ngữ Java — bởi đây là một bộ phận hỗ trợ phát triển.

    JavaScript MV* framework

     

    Mô hình JavaScript MVC được ứng dụng nhiều nhất.

    Rất lâu trước đây, tất cả mọi người đã học cách viết JavaScript để bật lên một hộp cảnh báo hoặc kiểm tra xem địa chỉ email thực sự có chứa đựng @. Và bây giờ các ứng dụng HTML AJAX khá đầy đủ cho phép người mới bắt dầu dễ hơn. JavaScript MV*đơn giản một kiến trúc phần mềm có ba thành phần chính là Model, View, phần còn lại có thể là một tinh năng nào khác. Hiện nay có hàng chục các framework như Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS... và tất cả đã sẵn sàng để xử lý các sự kiện và nội dung cho ứng dụng web và trang của bạn.

    CSS frameworks

    Để tăng khả năng trình diễn của Website thì trong file CSS sẽ xuất hiện nhiều các câu lệnh, ví dụ như việc thiết lập các phông chữ thì có font-style:italic. Tuy nhiên bây giờ các Website không còn sử dụng các câu lệnh thô sơ như trước nữa, những tinh chỉnh từ màu sắc cho đến kiểu chữ hiện đã sử dụng CSS framework- bộ công cụ, thư viện, các quy ước và những ứng dụng. Những đặc tính trong CSS đã được tách ra với các các nhiệm vụ, và được tích hợp vào nhiều module chung để có thể tái sử dụng.

    CSS frameworks tương tự như SASS hay người anh em Compass. Những nền tảng này giúp tăng năng suất và tránh các lỗi thông thường, tính tương tích trình duyệt tối ưu, ổn định mã hóa bằng cách cung cấp các cấu trúc lập trình như biến thực- real variable, quy tắc xếp chồng... Những công cụ này không phải là bước đột phá gì mới nhưng đã cải thiện rất nhiều hiệu suất trong lập trình Web.

    SVG + JavaScript trên Canvas

     

    SVG xử lý hình ảnh tối ưu hơn so với nền tảng cũ

    Flash vừa mang lại những điều tuyệt vời những cũng là sự khó chịu của rất nhiều người dùng. Các nhà lập trình hiện nay đã có thể xây dựn các ngăn xếp sâu của các đoạn mã Flash cung cấp quá trình biên dịch phức tạp và hình ảnh động. Bây giờ các lớp JavaScript đã có khả năng làm những điều như vật, các nhà cung cấptrình duyệt và phát triển đang coi đây là thời kì cuối của Flash. Họp thấy việc tích hợp các lớp DOM đến từ định dạng mới như SVG (Scalable Vector Graphics) tốt hơn. SVG và HTML đã làm việc thiết kế, xây dựng hình ảnh trở nên dễ dàng cho các nhà phát triển Web. Sau đó có các API lớn cung cấp bản vẽ được dựng trên đối tượng Canvas, thường là với sự giúp đỡ của card video. Và khi kết hợp những điều trên thì không có lý do gì phải sử dụng Flash nữa.

    Game frameworks

     

    Nhà phát triển game sử dụng thư viên để tập trung vào cốt chuyện, nhân vật cũng như đồ họa nhiều hơn

    Đã có một thời gian, phát triển một tựa game là thuê nhiều nhà phát triển viết tất cả mọi thứ và bắt đầu từ C. Và hiện nay hầu hết các nhà phát triển game đã từ bỏ niềm tự hào của họ nhiều năm trước đồng thời chuyển sang sử dụng các thư viên như Unity, Corona, hoặc LibGDX để xây dựng hệ thống của họ. Về bản chất, các game thủ không quá quan tâm phía sau một nền tảng xây dựng lên trò chơi đó là gì, họ quan tâm đến nội dụng, nhân vật và tính nghệ thuật. Điều đó khiến các nhà sản xuất ưu tiên vào các nền tảng được dựng sẵn, không quá quan tâm đến chi tiết lập trình nữa.

    Ứng dụng Single-page Web

     

    Các ứng dụng web mới biểu thị cho giai đoạn đầu trước khi cơ sở dữ liệu chứa đầy nội dung. Khi các ứng dụng Web muốn thông tin, nó kéo cơ sở dữ liệu và đổ vào khuôn địa phương. Các lớp dữ liệu là hoàn toàn tách biệt với các lớp trình bày và định dạng. Ở đây, sự sự phát triển của điện toán di động là một yếu tố quan trọng khi có thể đáp ứng được việc biến trang web thành ứng dụng

    Ứng dụng Mobile Web

     

    Ứng dụng Mobile Web cho nhiều lựa chọn trên các nền tảng.

    Khi có ý tưởng nội dung và người phát triên có thể triển khai tạo ra các ứng dụng trên những nền tảng như iOS,Android, Windowphone... Điều này tương đối mệt mỏi với các nhà lập trình, đơn giản là vì mỗi nền tảng cần có một công cụ lập trình riêng và điều đó tương đối mất thời gian khi muốn chỉnh sửa hoặc nâng cấp. Ứng dụng Mobile Web có thể đơn giản hơn khi nhà lập trình chỉ cần tạo ra các HTML Apps có thể tương thích với nhiều nền tảng và nếu cần chỉnh sửa thay đổi thì rất nhanh.

    Lập trình cho GPU

     

    Lập trình ứng dụng trên GPU.

    Trước đây, bộ vi xử lý CPU thông dịch các lệnh của chương trình và điều khiển hoạt động xử lí. Các trò chơi hiện tại có chất lượng đồ họa hình ảnh khá cao. hiệu ứng phong phú khiến máy tính cần có một card đồ họa để xử lý song song. Nhưng một card đồ họa tốt thì có mức giá khá cao từ 500-600 USD tương đương với một con chip mới nhất, điều này đội giá chiếc máy tính lên khá cao. Hiện nay các game thủ có thể giảm tải chí phí nhờ vào bộ vi xử lý đồ họa GPU được tích hợp sẵn trong CPU. GPU là  một bộ vi xử lý chuyên dụng nhận nhiệm vụ tăng tốc, xử lý đồ họa cho bộ vi xử lý trung tâm. Những nhà nghiên cứu phát triển đã có thể chạy nhiều ứng dụng song song có tốc độ cao gấp hàng trăm lần so với thế hệ chip cũ.

    GitHub- hệ thống quản lý mã nguồn 

     

    Mạng xã hội của mã nguồn.

    GitHub còn được gọi là social network dành cho dành cho các nhà phát triển. Hệ thống quản lý phân tán GIT giúp người dùng lưu trữ mã nguồn các dự án. GitHub cung cấp dịch vụ thương mại và cả tài khoản miễn phí cho các dự án nguồn mở. Đã có gần 500 ngàn nhà phát triển và đã tạo ra hơn 1 triệu 400 ngàn repositories, ngoài ra một số khách hàng lớn khác sử dụng dịch vụ của GitHub như Twitter, Facebook, Yahoo … 

    Giao diện Web

     

    Giao diện Web đang nổi lên trong giới lập trình.

    Một thời gian khá lâu, các nhà lập phát triển sử dụng trình biên dịch dòng lệnh và sau đó tích hợp với các khá để tạo ra môi trường phát triển tích hợp IDE. Hiện tại thì IDE đã không còn quá nổi bật khi mà các công cụ dựa trên nền tảng trình duyệt cho phép nhà phát triển chỉnh sửa mã nguồn. Cách thực hoạt động của WordPress là một điều thú vị, mã nguồn này đi kèm với một công cụ biên tập cho phép bạn chỉnh sửa code ngay tại chỗ. Hay Azure của Microsoft cũng cho phép nhà lập trình viết các đoạn mã JavaScript. Hiện tại thì những hệ thống này không cung cấp môi trường sủa lỗi tốt nhất và có thể nguy hiểm cho việc chỉnh sửa mã nguồn.