Uncategorized

Bạn có biết Framework là gì?

Tác giả - Kha Be

Framework là từ ngữ chuyên dụng trong các ngành lập trình web hãy các lĩnh vực đòi hỏi phần kỹ thuật và công nghệ cao, vì vậy những người “trái ngành” sẽ không thể hiểu được Framework là gì? Bài viết sau đây sẽ giúp bạn giải quyết vẫn đề đó.

Framework là gì?

Framework có thể nói nó như là một “khung nền” – Nơi tổng hợp các lớp – các hàm đã được xây dựng tương đối hoàn chỉnh hay nói cách khác Framework là một thư viện chứa nhiều công nghệ của nhiều lĩnh vực. Hay tóm gọn hơn nó là bộ khung, sườn để phát triển các phần mềm ứng dụng. Các lập trình viên – nhà phát triển web tiềm năng sẽ sử dụng các framework này như nguồn nguyên liệu để gây dựng các trang web, ứng dụng hoàn chỉnh cho từng ngành nghề trong mọi lĩnh vực đời sống.

Net framework là gì?

Nói về NET framework thì khá dài. Và chỉ những lập trình viên IT chuyên nghiệp mới hiểu cặn kẽ đến từng chân tơ của nó. Còn chúng ta chỉ cần hiểu nó là một nền tảng lập trình và thực thi ứng dụng trên hệ điều hành Windows của Microsoft.

NET Framework của Microsoft là nơi tập hợp các thư viện lập trình có thể được cài thêm hoặc đã được cài sẵn trong các hệ điều hành Windows. Ít ai ngờ rằng chỉ trong một thời gian ngắn .NET Framework đã cung cấp hàng loạt giải pháp thiết yếu cho những yêu cầu phổ thông của các chương trình điện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, thiết kế ứng dụng web, các giải thuật số học và giao tiếp mạng.

Một lưu ý nhỏ là NET Framework thực thi quản lý các chương trình được viết dựa trên NET Framework, do đó nếu người dùng muốn truy cập vào các ứng dụng viết trên nền NET thì phải cài NET Framework trước đã. Vậy giờ thì bạn đã rõ về NET framework là gì rồi đúng không?

PHP Framework là cái gì?

Như các bạn đã biết, PHP là 1 ngôn ngữ script rất phổ biến hiện nay bởi những lý do: linh hoạt, dễ sử dụng, dễ học, …. nhưng đôi khi việc viết mã PHP, hay bất cứ ngôn ngữ (lập trình) nào khác, có thể trở nên đơn điệu và lủng củng. Đó là lúc PHP framework có thể giúp bạn.

PHP frameworks làm cho sự phát triển của những ứng dụng web viết bằng ngôn ngữ PHP trở nên trôi chảy hơn, bằng cách cung cấp 1 cấu trúc cơ bản để xây dựng những ứng dụng đó. Hay nói cách khác, PHP framework giúp đỡ các bạn thúc đẩy nhanh chóng quá trình phát triển ứng dụng, giúp bạn tiết kiệm được thời gian, tăng sự ổn định cho ứng dụng, và giảm thiểu số lần phải viết lại mã cho lập trình viên. Ngoài ra Framework còn giúp những người mới bắt đầu có thể xây dựng các ứng dụng ổn định hơn nhờ việc tương tác chính xác giữa các Database, mã (PHP) và giao diện (HTML) 1 cách riêng biệt. Điều này cho phép bạn dành nhiều thời gian để tạo ra các ứng dụng web, hơn là phí thời gian để viết các đoạn mã lặp lại trong 1 project.

Khi nào thì sử dụng PHP Framework?

Đây thường là 1 câu hỏi chung của cả những người đã có kinh nghiệm và mới bắt đầu trong lập trình PHP, và cũng không có câu trả lời trực tiếp nào cho câu hỏi này. Với những bạn mới bắt đầu, 1 framework cũng có cung cấp những tính năng đơn giản và ổn định, vì thế bạn cũng nên tập sử dụng framework bất cứ khi có thể. Nó sẽ giúp bạn giảm bớt, hoặc loại bỏ các đoạn mã thiếu tính khoa học, và tăng tốc cho quá trình xây dựng ứng dụng của bạn.

Mặc khác, đối với các lập trình viên PHP đã có kinh nghiệm, framework được xem như 1 công cụ giúp đỡ các lập trình viên còn yếu, chưa biết làm thế nào để viết mã 1 cách gọn gang, tốt hơn và có khoa học. Cho dù điều này là đúng hay sai trong các cuộc thảo luận, nhưng sự thật không thể phủ nhận là PHP framework là 1 công cụ được sử dụng để tiết kiệm thời gian và giúp cho việc viết code chặt chẽ hơn.

Entity Framework là gì?

Entity Framework là một bộ ánh xạ đối tượng – quan hệ cho phép người lập trình NET làm việc với dữ liệu quan hệ qua các đối tượng (object) nó giúp lập trình viên không cần viết mã cho (hầu hết) những gì liên quan đến truy cập dữ liệu.

Các thành phần trong Entity Framework:

– Code là mã lệnh tạo thành các lớp đối tượng dữ liệu cho phép thao tác với dữ liệu.

– Model là sơ đồ gồm các hộp mô tả các thực thể và các đường nối kết mô tả các quan hệ.

– Database là cơ sở dữ liệu (có thể là SQL Server, Compact SQL Server, Local database, MySQL, Oracle…)

Khi làm việc trên 1 project với thời gian giới hạn chặt chẽ, sử dụng PHP framework là 1 lợi thế rất lớn, nó có thể giúp tăng tốc quá trình viết mã. Vì thế, nếu bạn đang làm việc trong 1 tình trạng thời gian gấp rút, PHP framework sẽ rất có ích cho bạn. Một trường hợp khác, bạn nên quan tâm đến PHP framework là khi bạn làm 1 project với số lượng mã phải viết quá lớn, nó sẽ giúp công việc của bạn trở nên bớt dài dòng hơn.

Spring framework là gì?

Spring là framework phát triển ứng dụng phổ biến nhất dành cho Java Enterprise. Ban đầu nó được viết bởi Rod Johnson và lần đầu tiên được phát hành theo giấy phép Apache 2.0 vào tháng 6 năm 2003. Spring có kích thước nhẹ, phiên bản cơ bản của Spring framework có kích thước khoảng 2MB.

Spring framework là một Java Platform mã nguồn mở, một giải pháp gọn nhẹ dành cho Java Enterprise. Với Spring Framework các nhà phát triển có thể tạo ra các mã có hiệu suất cao, dễ kiểm thử và có thể sử dụng lại được.

Các tính năng core của Spring Framework có thể được sử dụng trong việc phát triển bất kỳ ứng dụng Java nào. Bên cạnh đó, phần mở rộng được sử dụng để xây dựng các ứng dụng web trên nền tảng Java EE. Mục tiêu của Spring Framework là làm cho việc phát triển ứng dụng J2EE dễ dàng hơn và thúc đẩy việc lập trình tốt hơn bằng mô hình POJO-based.

Lợi ích của việc sử dụng Spring Framework

Dưới đây là danh sách các lợi ích tuyệt vời của việc sử dụng Spring Framework:

– Spring cho phép các nhà phát triển tạo các ứng dụng cấp Enterprise sử dụng các POJO. Lợi ích của việc sử dụng các POJO là bạn không cần một sản phẩm chứa EJB như một máy chủ ứng dụng, mà bạn chỉ có thể sử dụng một bộ chứa servlet mạnh mẽ như Tomcat hoặc một số sản phẩm thương mại khác.

– Spring được tổ chức theo kiểu mô đun. Mặc dù số lượng các gói và các lớp là khá nhiều, nhưng bạn chỉ cần quan tâm đến những gì bạn cần và không cần quan tâm đến phần còn lại.

– Spring sử dụng một số công nghệ hiện có như một số ORM Framework, logging frameworks, JEE, Quartz, JDK timers và các công nghệ View khác.

– Dễ dàng để kiểm thử một chương trình được viết bằng Spring.

– Web framework của Spring là một Web MVC framework có thiết kế tốt, nó là một thay thế tuyệt vời cho Struts và các công nghệ kém phổ biến khác.

– Spring cung cấp một API thuận tiện để dịch các ngoại lệ công nghệ cụ thể (ném bởi JDBC, Hibernate, hoặc JDO chẳng hạn) vào các trường hợp ngoại lệ nhất quán, không được kiểm soát.

– IoC Container có trọng lượng nhẹ. Điều này có lợi cho việc phát triển và triển khai các ứng dụng trên các máy tính có bộ nhớ và tài nguyên CPU hạn chế.

– Spring cung cấp một giao diện quản lý transaction nhất quán có thể mở rộng đến một local transaction (ví dụ như sử dụng một cơ sở dữ liệu) và mở rộng lên các global transaction (sử dụng JTA).

Conceptual framework là gì?

Theo nghĩa rộng, Conceptual framework có thể được xem như một cơ sở để xác định bản chất và mục đích của kế toán. Khung khái niệm phải xem xét đến các vấn đề về nhận thức và lý thuyết xung quanh việc lập báo cáo tài chính và thiết lập một nền tảng nhất quán và chặt chẽ làm cơ sở cho sự phát triển của các chuẩn mực kế toán.  Vì thế không có gì đáng ngạc nhiên khi các bài viết đầu tiên về chủ đề này lại bắt nguồn chủ yếu từ các viện nghiên cứu.

Conceptual framework có thể áp dụng cho nhiều môn học nhưng đối với môn học cụ thể như môn lập báo cáo tài chính thì khung khái niệm có thể được xem là một báo cáo về các nguyên tắc kế toán được chấp nhận chung (GAAP) giúp định hình một khuôn khổ để tham khảo cho quá trình đánh giá các nguyên tắc hiện tại và phát triển các nguyên tắc mới. Vì mục đích của lập báo cáo tài chính là cung cấp thông tin hữu ích làm cơ sở để ra các quyết định kinh tế nên khung khái niệm sẽ thiết lập một nền tảng lý thuyết để xác định cách thức đo lường (theo giá gốc hay theo giá hiện hành) và báo cáo các sự kiện cũng như giao dịch. – chúng được trình bày và chuyển tới người sử dụng bằng cách nào.

Một số kế toán viên đã đặt câu hỏi rằng liệu khung khái niệm có cần thiết để có thể tạo ra các báo cáo tài chính đáng tin cậy hay không. Lịch sử phát triển của các cơ quan thiết lập chuẩn mực trên khắp thế giới đã cho thấy điều đó thực sự là cần thiết. Nếu không có khung khái niệm, các chuẩn mực kế toán thường bị mắc phải các thiếu sót và sai lầm nghiêm trọng sau:

– Chúng không nhất quán với nhau đặc biệt là vai trò của nguyên tắc thận trọng và nguyên tắc dồn tích/phù hợp

– Chúng cũng không nhất quán về mặt nội bộ và thường những tác động của các giao dịch lên bảng cân đối kế toán được xem là quan trọng hơn so với tác động lên báo cáo kết quả hoạt động kinh doanh.

– Các chuẩn mực được thiết lập trên cơ sở ‘chữa cháy’, tức là để đối phó lại với các sự cố hay các vụ bê bối của doanh nghiệp chứ không phải tiên phong thực hiện để xác định chính sách tốt nhất.

– Một số cơ quan thiết lập chuẩn mực có xu hướng thiên vị các chuẩn mực do họ thiết lập (dẫn đến không công bằng cho tất cả các đối tượng sử dụng) và điều này sẽ ảnh hưởng đến chất lượng và định hướng của các chuẩn mực.

– Các vấn đề lý thuyết giống nhau được xem nhiều lần trong các chuẩn mực liên tiếp

Zend Framework là gì?

– Sử dụng PHP 5

– Viết hướng đối tượng

– Cung cấp mô hình tiên tiến MVC

– Là 1 phần mềm nguồn mở có sự hỗ trợ cộng đồng

– Cung cấp 1 loạt các ứng dụng API của các nhà cung cấp hàng đầu như Google, Yahoo, Flick…

Zend Framework làm được những gì?

– Tạo ứng dụng web theo mô hình chuẩn MVC

– Url tiêu chuẩn, ngắn gọn

– Hỗ trợ phân quyền tới từng Action

– Có các thành phần thư viên hỗ trợ API của các nhà cung cấp như Google, Yahoo, Flick

– Quản lý code dễ dàng, liệt kê và lấy các truy vấn history

– Dễ dàng phát triển thêm các ứng dụng nhúng, sử dụng Plugins

Laravel Framework là gì?

Laravel là một PHP Framework mã nguồn mở và miễn phí, được phát triển bởi Taylor Otwell và nhắm mục tiêu hỗ trợ phát triển các ứng dụng web theo cấu trúc model – view- controller (MVC). Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu- rõ ràng, một hệ thống đóng gói Modular và quản lý gói phụ thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng.

Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn PHP framework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHP framework phổ biến nhất năm 2015, theo sau lần lượt là Symfony2, Nette, CodeIgniter, Yii2 vào một số khác. Trước đó, Tháng 8 năm 2014, Laravel đã trở thành project PHP phổ biến nhất và được theo dõi nhiều nhất trên Github.

Laravel được phát hành theo giấy phép MIT, với source code được lưu trữ tại Gitthub.

Ionic framework là gì?

Giới thiệu Ionic là một framework dùng để phát triển một ứng dụng Hybrid cho mobile. Hybrid có thể được hiểu là con lai giữa ứng dụng native và web mobile. Bản chất của hybrid là một giao diện được viết bởi html, css, javascript nhưng nó cho phép gọi các Api native của hệ thống nên có thể thao tác với hệ điều hành của mobile như các ứng dụng native khác. Ionic được phát triển dựa trên nền của Apache Cordova (trước kia còn gọi là phonegap) và dùng angular1, angular2 để làm core của hệ thống. Các tính năng của Cordova

– Command Line Interface (Cordova CLI): đây là một tool dùng để khởi tạo một project , xây dựng ứng dụng trên nhiều nên tảng khác nhau cũng như là thêm nhiều plugin có ích để giúp việc phát triển dễ dàng hơn.

– Cordova Core Components: Cordova đưa ra một tập các thành phần mà mọi ứng dụng di động cần đến.

– Cordova Plugins: Cordova đưa ra các API để sử dụng các chức năng của thiết bị di động như cảm biến, camera, GPS…

Yii Framework là gì?

Vào tháng 12 năm 2008, một PHP Framework mới được cộng đồng biết đến đó là Yii Framework với phiên bản 1.0. Có rất nhiều Framework được phát triển vào năm 2008 nhưng Yii được mọi người nhiệt tình công nhận vì Qiang Xue là người đã thành lập ra Prado Framework cũng chính là tác giả của Yii Framework. Những năm kinh nghiệm và những nhận xét của người sử dụng, đang cần một Framework PHP dễ dàng hơn, mở rộng hơn và hiệu quả hơn để đáp ứng nhu cầu ngày càng tăng của các nhà phát triển ứng dụng Web.

Vì vậy Yii Framework đã ra đời và đáp ứng các yêu cầu trên cho cộng đồng Web Yii là từ viết tắt của từ Yes, it is! Hoặc cũng có thể là viết ngắn gọn 3 chữ cái đầu của Easy (dễ dàng), Efficient (hiệu suất) và Extensible (khả năng mở rộng). Yii là 1 PHP Framework mã nguồn mở và hoàn toàn miễn phí, có hiệu năng cao, giúp bạn phát triển tốt nhất các ứng dụng Web 2.0. Yii cho phép tái sử dụng tối đa các thành phần của ứng dụng để tăng tốc độ viết ứng dụng. Yii là một PHP Framework được xây dựng để phát triển các ứng dụng Web quy mô lớn dựa trên nền tảng component (thành phần sử dụng lại). Yii cho phép tái sử dụng tối đa các thành phần của hệ thống để tăng tốc độ viết ứng dụng.

Giống như hầu hết các PHP Framework, Yii là một MVC Framework.

Yii, nói chung, là một Framework phát triển ứng dụng Web nên có thể dùng để viết mọi loại ứng dụng Web. Yii rất nhẹ và được trang bị giải pháp cache tối ưu nên nó đặc biệt hữu dụng cho ứng dụng Web có dung lượng dữ liệu trên đường truyền lớn như web portal, forum, CMS, e-commerce, v.v.

Để chạy 1 ứng dụng được viết bằng Yii, bạn cần Web Server hỗ trợ PHP 5.1.0 hoặc phiên bản mới hơn.

Với developer muốn phát triển Yii, kiến thức lập trình hướng đối tượng (OOP) rất hữu ích vì Yii là một Framework OOP thuần túy.

Play Framework là gì

– Play Framework giúp xây dựng web application với Java và Scala dễ dàng hơn. Play đi theo hướng phát triển web nhẹ và thân thiện với người dùng. Được xây dựng trên Akka, Play cung cấp resource tiêu thụ dự đoán và tối thiểu (CPU, bộ nhớ, các threads) cho các ứng dụng có khả năng mở rộng cao.

– Play thân thiện với developer: workflow tốt, tools để build và console quyền lực, an toàn, được xây dựng trên testing tools và hỗ trợ IDE cho Eclipse và IntelliJ

– Quy mô có thể dự đoán được. Tầng dưới lớp bảo phủ Play sử dụng mô hình không đồng bộ hóa hoàn toàn được xây dựng trên tầng đầu của Akka. Kết hợp với stateless, quy mô hoạt động của Play đơn giản và dễ nhận biết được.

– Tạo ra các ứng dụng web và mobile hiện đại và hợp xu thế. Play được xây dựng dựa trên các nhu cầu tạp ra các ứng dụng web và mobile hiện đại.

Tác giả

Kha Be