Play Framework Là Gì

  -  

Tổng quan

Play framework góp gây ra website application cùng với Java cùng Scala dễ ợt rộng. Play đi theo phía cách tân và phát triển website dịu và gần gũi với người tiêu dùng. Được xây đắp bên trên Akka, Play cung cấp resource tiêu thụ dự đân oán với tối thiểu (CPU, bộ lưu trữ, các threads) cho các vận dụng có công dụng mở rộng cao.Play thân mật và gần gũi với developer: workflow xuất sắc, tools nhằm build với console quyền lực tối cao, bình an, được thiết kế bên trên testing tools với cung cấp IDE mang đến Eclipse cùng IntelliJQuy mô rất có thể dự đân oán được. Tầng bên dưới lớp bao quanh Play sử dụng quy mô không nhất quán hóa hoàn toàn được desgin bên trên tầng đầu của Akka. Kết hợp với stateless, đồ sộ hoạt động của Play đơn giản và dễ nhận ra được.Tạo ra các áp dụng website và mobile hiện đại cùng đúng theo xu thế. Play được kiến thiết dựa vào những nhu yếu tạp ra các áp dụng web và di động văn minh.

Bạn đang xem: Play framework là gì

Kiến trúc cùng vòng đời

Mô hình MVC

Mội áp dụng Play theo đúng mô hình MVC thường xuyên áp dụng đến kiến trúc Web. Có 3 layer được tư tưởng vào thư mục tiện ích, mỗi layer những ngơi nghỉ trong một package đơn lẻ.

*

app/controllersMột Controller là một Java class khu vực mà từng phương thức là một action. Một action được Gọi lúc một HTTPhường request được gọi. Code Java từ bỏ class Controller không đích thực là phía đối tượng người sử dụng, nó phần lớn là code procedural. Method action kéo ra các data liên quan trường đoản cú HTTP.. request, đọc với update model object, & gửi lại hiệu quả được gói gọn vào một HTTP.. response.app/modelsLớp đối tượng người sử dụng Mã Sản Phẩm í một cấu hình thiết lập những Java class thực hiện tất cả những anh tài hướng đối tượng sẵn có từ bỏ ngôn từ Java. Nó chứa các kết cấu dữ liệu với phương thức hoạt động trong ứng dụng. Bất cứ đọng khi nào đối tượng người dùng mã sản phẩm nên save sầu vào bộ lưu trữ tiếp tục, bọn chúng hoàn toàn có thể thực hiện những glue artifacts giống hệt như JPA annotations joawjc SQL statements.app/viewsPhần phệ views của appication được tạo nên dựa theo một templating hỗ trợ vị Play. Controller lôi ra data quan trọng trường đoản cú Mã Sản Phẩm layer, tiếp nối apply 1 template nhằm tô điểm những object đó. Những packages này đựng các file template như HTML, XML, JSON cùng với các thông tư đặc biệt quan trọng thực hiện để generate những Model thay mặt.

Vòng đời

Play framework trọn vẹn là stateless và chỉ còn lý thuyết Request/Response. Tất cả HTTP.. request hầu như tuân theo những tuyến đường tương tự như nhau.

*

Một HTTPhường Request được nhận vì chưng framework.Thành phần Router nỗ lực kiếm tìm các trong suốt lộ trình xác minh để chấp nhận request này. Các thủ tục action tương ứng sẽ được Điện thoại tư vấn tới.Application code được thực hiện.Nếu một view phức tập cần được generate, một file template được render.Kết quả của một cách làm action (HTTP Response code, Content) tiếp đến được viết thành một HTTP. Response.

Xem thêm: Netflix Là Gì ? Những Điều Cần Biết Khi Định Đăng Ký Netflix 2021

Bố viên của một Play application

Bố viên của một Play application được chuẩn chỉnh hóa để giữ lại phần nhiều đồ vật dễ dàng độc nhất vô nhị có thể. Sau lần compile thành công trước tiên, một Play application gồm bố cục tổng quan nhỏng sau:

*

app/ directory

app directory đựng tất cả artifacts thực thi: Java và Scala source code, template và compiled assets" sources. Có bố packages vào app directory, mỗi package là một trong những thành phần nằm trong quy mô phong cách xây dựng MVC:

app/controllersapp/modelsapp/viewsquý khách hàng hoàn toàn có thể thêm một package của riêng các bạn nlỗi package app/utils. Ngoài ra, có một directory tùy lựa chọn là app/assets mang đến câu hỏi compiled assets nlỗi LESS source cùng CoffeeScript sources.conf/ directory

conf directory chứa các file config của app. Có nhị tệp tin config chủ yếu là:

application.conf : file config chủ yếu của tiện ích, địa điểm chứa loại parameter configroutes: tệp tin định nghĩa những băng thông của appNếu bạn cần thêm các option config rõ ràng đến ứng dụng của chúng ta, bạn nên thêm các option kia vào file application.confNếu một thỏng viện yêu cầu một file config rõ ràng, hãy thêm file đó vào trong folder conflib/ directory

lib directory là tùy lựa chọn cùng chứa các dependencies library, toàn bộ các files JAR bạn muốn làm chủ bằng tay thủ công quanh đó hệ thống. Chỉ buộc phải thêm bất kể tệp tin JAR vào đó, chúng sẽ tiến hành cung ứng classpath của application của chúng ta.

build.sbt file

Các knhì báo build thiết yếu của project được đặt ở trong tệp tin build.sbt trên thư mục cội của project. Các file .scala trong băng thông project/ cũng hoàn toàn có thể thực hiện để khai báo bản build của project.

project/ directory

project directory chứa các có mang build sbt:

plugins.sbt: định nghĩa những plugins sbt sử dụng vào projectbuild.properties: cất những version sbt sử dụng nhằm build apptarget/ directory

target directory chứa hầu hết sản phẩm công nghệ được gen bởi hệ thống. Bao gồm:

classes/ cất toàn bộ những compiled class (trường đoản cú cả Hava với Scala source)classes_managed/ chứa những class được làm chủ do framework (ví dụ như các classes gen bsinh hoạt router hoặc template của hệ thống)resource_managed/ đựng những resource được gen ra, các công dụng compile của LESS CSS và CoffeeScript,...src_managed/ cất những sources được gen ra như Scala sources được ren do template của hệ thốngCác loại .gitignore file

Các folders đã có được gen ra bị ignore vày hệ thống điều hành và kiểm soát version. Đây là các file .gitignore điển hình nổi bật của một Play application.

Xem thêm: Hướng Dẫn Sử Dụng Bankplus Bidv Nhanh Nhất, Hướng Dẫn Sử Dụng Bankplus Bidv

logproject/projectproject/targettargettmpdist.cache

Trên đây là giới thiệu qua loa về kiến trúc và cách thức hoạt động của Play Framework. Hi vọng nội dung bài viết này vẫn mang về chút kỹ năng và kiến thức bổ ích mang đến chúng ta.

Tham khảo:

https://www.playframework.com/documentation/1.0/mainhttps://www.playframework.com/documentation/2.6.x/Anatomy#anatomy-of-a-play-application