Build Better Mobile Line-of-Business Apps with Reactive Properties & JSON Patch

This is a past event

12 people went

Bucknell University Small Business Development Center

StartupLewisburg · Lewisburg, PA

How to find us

Downtown SBDC building (across from Campus Theatre), 3rd Floor

Location image of event venue

Details

Programmer and entrepreneur Adrian Pinter will present his client-server Chain Reactive framework for building better line-of-business apps with reactive properties and JSON Patch. Come hear about Adrian's soon-to-launch multilingual Point-of-Sale app, Saucepos, and connect with area programmers and tech-entrepreneurs!

Learn more at https://chainreactive.org/ & http://www.saucepos.com/

-----
When I began work on a multilingual Point-of-Sale app seven years ago, which I've since named Saucepos, I had no idea what I was in for. I had coded separately on both client and server over many years, but this was my first opportunity deciding my own client-server architecture. Following established norms would have been easiest, but I'm a perfectionist and an idealist. The verboseness of those existing options hinder maintainability, especially in a system with complex business requirements. I insist of making the complex appear simple, or at least no more complicated than it has to be. I want to write succinct application code, free of repetitive infrastructure code that gets in the way of a clear expression of requirements. I forsake the safe and easy choice of architecture in favor of the ideal way that it can and should work, and then I remain determined until I've made it work that way. These personality traits conspired to lead me on a journey that's lasted seven years - and counting.

Along the way I've developed a client-server framework called Chain Reactive that lets you rapidly develop mobile line-of-business apps, for any industry, that come alive based on user interactions on the current and other clients. My framework facilitates client-to-server and client-to-client domain object synchronization using, what I call, Entity JSON Patch (based on JSON Patch). On the server side, my framework translates patch operations into database commands (currently MongoDB; extensible to others). On the client side, my framework facilitates functional reactive properties using my Reactive Updater class.

Once you learn the concepts underlying my framework, and the techniques to take advantage of them, expressing business logic and implementing features becomes frictionless. You can do so more quickly and easily than before by benefiting from reactive properties whose changes ripple through the domain model on the current and other clients. I already wrote this infrastructure code for you, and it's hidden behind the scenes so you can stay focused on business logic and feature requirements. The framework augments your power as a coder; it doesn't diminish it. It's opinionated, but only to the extent necessary to fulfill its well-defined purpose. It breathes life into your business logic and features across clients.

Open sourcing my framework is important to me. Please come to this talk to learn the technical details of what the framework provides, ask questions and provide feedback. Your participation will help me gauge the interest level in my framework, and guide me in authoring online documentation and tutorials that I wish to accompany my open-source launch.

Note that my framework is currently implemented only for Microsoft.NET. Please attend even if you have a different programming background, as I think there are concepts that can be applied, and code that can be ported, to other languages and platforms.

For business people in the group, you're welcome to attend but note that it is a technical talk. I expect my presentation with discussion to last about an hour, after which we'll be "networking" in the business - rather than programming - sense. As mentioned above, my framework is usable across industries - from healthcare to education, to anything that involves data entry. If you're unfamiliar with the horizontal nature of software componentry, it's worth noting why that's possible. The nature of domain modeling, and shuffling domain objects between client and server, is the same no matter the application context.