Panda Framework
Outline
Panda Framework is an elegant, extensible framework for creating enterprise-ready Java Web applications. The framework is designed to streamline the full development cycle, from designing to building, to deploying, to maintaining applications over time. Comparing to popular Java application frameworks such as Spring/Struts2/Hibernate, Panda Framework is small and complete, easy to use, and easy to develop. The learning cost, development efficiency and maintainability are similar to Ruby on rails or Django.
Features
-
Automatic generation of the source code
The Panda Framework Code Generator can automatically generate the source of Action / Dao / Bean / View. The cost of development can be significantly reduced. -
Fluent DAO API
Use the Fluent DAO API provided by Panda Framework, you can easily execute query / insert/ update / delete function based on a database table. Writing SQL is not needed。 -
Business Logic Development is Easy
Using template class to develop Search/List/View/Add/Update/Delete function is very easy and fast. -
Improve productivity and source quality
Base on the generated source, the source quality and program productivity can be significantly improved. - Many extended modules
- HTML Page ⇒ PDF Convert Feature
- Media (Image) module
- Post (Article) module
- Easy to use
We provide a rich set of documents and samples to reduce initial cost from introduction to development.
Panda Framework Applying Effect
By applying Panda Framework, effective development and operation maintenance can be achieved.
System Architecture
Modules
Panda Framework consists of the following modules.
Module | Description |
---|---|
panda-core | This is the most basic part of the Panda framework and it contains many useful classes similar to apache-commons. |
panda-gear | IOC/MVC module. Similar to Spring-MVC, Struts2, contains some commonly used taglib. |
panda-gems | Extension module for Web-APP. Contains basic template classes that implement CRUD, user authentication, and some other useful classes. |
panda-glue | ASM/AOP module. |
panda-html | Contains jQuery, Bootstrap, and the css/javascript required by panda-gear’s taglib. |
panda-cgen | CRUD source code generator for Panda MVC Framework. Can generate Entity/Query/Dao/Action class, Freemarker (HTML) template file. |
panda-tube | Web Service API client (WordPress XMP-RPC, Google Vision API). |
Code Generator
About the code generator
By using the Code Generator of Panda Framework, programmers do not need to write source code & SQL statements. Just define the database table structure and the user interface layout, and let Code Generator automatically generate source code to achieve the data search / list(sort, paging) & record view / insert / update / delete functions based on a database table. Greatly reduce the amount of manually coded source, improve the quality of source code and reduce the development costs.
The effect of code generator
Generated features by code generator
Code generator can generate the following features. And it is easy to customize.
No. | Feature | Description |
---|---|---|
1 | Search | Search/Query form. |
2 | List View | Search result list view. |
3 | List Print View | Search result list view for print. |
4 | Data Detail View | Data detail view page. |
5 | Data Detail Print View | Data detail view page for print. |
6 | Data Add | Data add feature. |
7 | Data Copy | Data duplicate feature. |
8 | Data Edit | Data edit feature. |
9 | Data Delete | Data delete feature. |
10 | Data Export | Export data to CSV/XLS file. |
11 | Data Import | Import data from CSV/XLS file. |
12 | Bulk Data Process | Process multiple data. |
Generated web page transition diagram
Screenshot of generated source
List/Search Page
Detail View Page
Data Add Page
Data Add Confirm Page
Data Add Complete Page
Edit Page
Edit Confirm Page
Edit Complete Page
Delete Confirm Page
Delete Complete Page
Bulk Delete Confirm Page
Bulk Delete Complete Page
Some thoughts
Perhaps the biggest highlight of Panda Framework is the panda-tool source code generator.
Many programmers who do web application development will find that many pages function is nothing more than “list / create / update / delete” these four patterns. A lot of code is written repeatedly, annoying and tired. So I just want to develop a source code generator to generate the code I need through an XML definition file.
The first version source code generator developed several years ago can generate source based on Struts2/iBatis2. But there are many features can not be implement easily by that Struts2/iBatis2. At that time, I meet the Nutz framework developed by Wenda. A small compact framework that can implement the features of Spring / Hibernate. I am sorry for borrowed some of Nutz’s API design, modified it and wrote my own implementation.
Having persisted in writing for several years, I finally completed a framework that I was satisfied with. It can implement some very common features of Spring/Struts2/Hibernate. The source code generator can generate the source code (including HTML pages and server side logic) implements the CRUD features.
I made a DEMO website. Through this DEMO, you may understand the Panda Framework more intuitively.
I would be very grateful for that if you think the Panda Framework is easy to use and can help your work well. Leave a suggestion or write a bug report, welcome to Folk.