In this blog post, we’re diving into modular programming. Here’s a bit of advice, if you’re ever stumped on how to start a technical blog post, turn to Wikipedia:
“Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.”
The obvious benefits of modular development are 1. Multiple pieces of an individual program can be developed independently, without any code dependencies on the larger framework, and 2. Each module can be transferred between applications with minimal effort. FileMaker Pro, at it's core, is designed to allow someone with minimal programming experience the tools they need to develop a custom application that suits their exact needs. Because of this, the concept of modular development within FileMaker Pro is obscure in comparison to module or package-driven languages, such as C++, Java, Perl, Ruby, or Python. Fortunately, FileMaker has introduced a number of tools and features within the last few versions to help developers build modular code.
At ModularFileMaker.org, the goal is to procure and share a library of open source modules built by the dev community. During the last 3 years, over 50 modules have been contributed, covering a variety of areas from authentication to query builders. Due to the nature of modular development, each module should adhere to a specific set of rules, all explained at ModularFileMaker.org. These guidelines make the implementation of each module as simple as possible, hopefully with a minimum of dependencies. At Portage Bay Solutions, we try to be mindful of building modular code within each application. We have even used a number of modules from ModularFileMaker, all with great success. With that said, we have yet to submit a module ourselves, so the goal for my next blog post is to take my current idea for a module, “ModularDialogs”, apply the guidelines to it, and submit it to ModularFileMaker.org.