# About modules development

**URL:** <https://forum.inductiveautomation.com/t/about-modules-development/79837>\
**Category:** Module Development\
**Created:** [September 29, 2023, 1:38pm UTC](https://forum.inductiveautomation.com/t/about-modules-development/79837 "2023-09-29T13:38:34Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jardel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jardel/32/27369_2.png) [@jardel](https://forum.inductiveautomation.com/u/jardel)\
**Post date:** [September 29, 2023, 1:38pm UTC](https://forum.inductiveautomation.com/t/about-modules-development/79837/1 "2023-09-29T13:38:34Z")

</div>

Good morning everybody.

First, introducing myself.

I am not a developer by profession, I have good knowledge of Python, GO, Javascript and bash/shell, due to my role as a Cybersecurity Analyst. But I'm excited about the opportunity to work with Ignition at this level, as I know it will give me great opportunities for growth in my career.

In my project, I received a task to help with the development of three modules and with that I have been studying module development for a few days. I've already read a good part of the Inductive Automation SDK documentation, as well as the Inductive Automation github and some topics here on the forum.

In particular, this one caught my attention:

> [@How do you create your own MODL file](https://forum.inductiveautomation.com/t/how-do-you-create-your-own-modl-file/51562):
>
> What are the steps to create a new module?

In this post, the forum member talks about three steps for developing a module. From what I've read so far, Java and Kotlin are possibilities, at my Developer level, I believe that Kotlin would be more interesting as it has a simpler learning curve, so I'm thinking about using Kotlin.

If possible, could you give me some guidance on what is the best way to develop modules today?

Best regards.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [September 29, 2023, 2:50pm UTC](https://forum.inductiveautomation.com/t/about-modules-development/79837/2 "2023-09-29T14:50:28Z")

</div>

I'll toot my own horn and recommend this post as a way to gather some context on what's going on:

> [@I am looking for a tutor for module development](https://forum.inductiveautomation.com/t/i-am-looking-for-a-tutor-for-module-development/55030/4):
>
> Nah, you’re fine. We have occasional job posts/job seekers as well; I think as long as they’re not inundating the forum it’s not a big deal. I think at least part of the confusion for people who might be familiar with programming, but struggle to get started with module development, is that you’re learning two separate things at the same time. There’s a particular Java build stack (whether you choose Maven or Gradle or whatever), and then attached to it the Ignition API surface, which is fair…

As for Kotlin, I'm a big fan, but be aware you'll probably still want some familiarity with Java conventions and programming style just for the sake of integration with Ignition. That said, I've also written a couple of example modules with Kotlin, and mixes of Kotlin and Java:

> **[GitHub - paul-griffith/kotlin-module: Proof of concept for an Ignition 8.1...](https://github.com/paul-griffith/kotlin-module)**
>
> Proof of concept for an Ignition 8.1 compatible Ignition module written in Kotlin - GitHub - paul-griffith/kotlin-module: Proof of concept for an Ignition 8.1 compatible Ignition module written in ...

> **[GitHub - IgnitionModuleDevelopmentCommunity/ignition-extensions](https://github.com/IgnitionModuleDevelopmentCommunity/ignition-extensions)**
>
> Contribute to IgnitionModuleDevelopmentCommunity/ignition-extensions development by creating an account on GitHub.

> **[GitHub - paul-griffith/secret-keeper: Toy, incomplete Ignition...](https://github.com/paul-griffith/secret-keeper)**
>
> Toy, incomplete Ignition proof-of-concept module to store secrets in the IDB - GitHub - paul-griffith/secret-keeper: Toy, incomplete Ignition proof-of-concept module to store secrets in the IDB

---

<div class="post-metadata">

**Author:** ![jardel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jardel/32/27369_2.png) [@jardel](https://forum.inductiveautomation.com/u/jardel)\
**Post date:** [September 29, 2023, 8:05pm UTC](https://forum.inductiveautomation.com/t/about-modules-development/79837/3 "2023-09-29T20:05:45Z")

</div>

All the content you recommended will help me in this new phase of my career.

Thank you very much and may God bless you.
