The intension of Pen & Paper is the creation of ABMaterial WebApps as depicted in the drawing above. This was developed as a pet project out of a personal need to create ABMaterial WebApps. So far everything has gone well with the outputs.
1. The ABMaterial Library comes out with an XML file that has vast information about the components (depicted as classed) including their properties (attributes), events and methods. Any Library viewer is able to access these too.
2. These classes are represented as property bags in Pen & Paper so that I can create any component by just changing the various attributes, whether true/false, specifying text etc. The way the components are built, initialized and added to pages/containers/modal sheets has been explained in detail in the ABMaterial Demo, where all of this started.
3&4. On creating an ABM project with Pen & Paper, two databases are created, one to store the project definition (pages and component structures i.e. propertybags) and the other a production one that the data will be stored in. These are both in SQLite. Pen & Paper has functionality to perform a DAO (Data Access Object) link for each backend table and fields you want to link a component to. This is essence creates a CRUD code base. This was inspired by the ABMCRUD generator that produces a structure of ones ABMTable and ABMModal sheet with the specific input components.
5. On Project Build, Pen & Paper produces a complete B4J application including the source code that can be compiled to generate a working version of an ABM Web Application.
6. Pen & Paper does not come bundled with ABMaterial, is not affiliated with ABMaterial and to compile any Pen & Paper project to a fully fledged working ABM Webapp, you need the ABM Libraries. It is just a helper tool to elimitate the repetitive nature of creating projects, pages, containers, modalsheets, etc, in a programming without coding technology fashion. It does NOT in anyway replace ABM or intends to replicate its functionality as it just generates B4J code for your ABM application, this being achieved by use of property bags to create your components and generate the respective source code based on your options, eliminating the need to type code and what anyone gets out is the basic stuff to make ones project work. Not everything ABM is here anyway.
As everything that has a beginning has an end. This personal enjoyment project will stop being maintained as other things will evolve. As on 31 March 2018, there is no intention to advance this any further than what it is. Thanks for B4J this project was possible.
Steps in using Pen & Paper
- Get everything related to Pen&Paper from this DropBox Link. Get executable from jar folder.
- See videos below on usage and related articles
- Please note that not all ABM components are covered with Pen&Paper as yet.
Creating a Sign In Modal Dialog with Options
Interesting Tutorials 2017-12-20
Creating a simple 'Contacts' ABMaterial WebApp - Part 1
Creating a simple 'Contacts' ABMaterial WebApp - Part 2
Creating a simple 'Contacts' ABMaterial WebApp - Part 3
Below are some of the articles touching on code generated by Pen&Paper.
- ABMaterial Pocket Reference (225 page PDF on ABMaterial 3.75 for your pleasure)
- ABMaterial Stats (3.50 vs 3.75)
- Pen & Paper: Create & Run a-simple hello ABMaterial Webapp
- Android2ABMaterial: A Personal Experiment
- My take on the Grid
- Dashboard Creation with JustGage
- How I created my first ABMaterial WebApp without writing any line of code
- Advay: An ABMaterial WebApp with source code
- Themes Quick Reference
- ABMTable - DrillDown and Cloning Records
- Creating Dynamic Legend Specific Calendar Events
- Gantt Chart: (work in progress)
- Using MS Excel as a reporting Engine for DB Records
- Creating dynamic charts from DB Records
- Creating dynamic ABMSideBarItems from DB Records
- Introducing SourceCode Preview of MyMaterial
- Automating ABMTable CRUD functionality
- Publishing ABMaterial WebApps to VPS
Creating the Bible.Show WebApp with ABMaterial
Some YouTube Links
Pen&Paper is built using B4J and distributed with jMashProjectProfile.
NB: You will need the ABMaterial Framework to compile the generated source code.