# Frontend background - Ignition Capabilities?

**URL:** <https://forum.inductiveautomation.com/t/frontend-background-ignition-capabilities/97398>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [October 17, 2024, 3:49pm UTC](https://forum.inductiveautomation.com/t/frontend-background-ignition-capabilities/97398 "2024-10-17T15:49:17Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Br\_72](https://avatars.discourse-cdn.com/v4/letter/b/b5ac83/32.png) [@Br\_72](https://forum.inductiveautomation.com/u/Br_72)\
**Post date:** [October 17, 2024, 3:49pm UTC](https://forum.inductiveautomation.com/t/frontend-background-ignition-capabilities/97398/1 "2024-10-17T15:49:17Z")

</div>

Hello! I was wondering If anyone who has a similar background (Frontend web development) would mind explaining some Ignition concepts and how to create modern looking HMI's and how to create customizable components.

I'm used to the typical HTML/CSS/JS workflow within VSCode, using tailwind/frameworks, and being able to customize everything so I'm struggling with getting used to Ignition's workflow and what is/isn't possible.

I'd love to take full advantage of Perspective and make modern HMI's, and I have found a few YouTube videos that show some AWESOME HMI designs but haven't found any videos that cover how they achieve them or coding instructions. (Please feel free to drop any names below if you know any awesome people to check out!)

I also saw a post about creating custom components/modules. Has anyone personally been able to achieve this? I noticed limited information about this but have been curious.

Any help/resources that you recommend is greatly appreciated! Thank you in advance!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [October 17, 2024, 4:25pm UTC](https://forum.inductiveautomation.com/t/frontend-background-ignition-capabilities/97398/2 "2024-10-17T16:25:12Z")

</div>

The whole point of Perspective's architecture is to make HMI design accessible to people (engineers, mostly) who **do not** have web development experience.

To achieve that, most things a web developer expects to manipulate are preset with theme files, and the components are provided with specific schemas. You do **not** create your own components, unless you leverage the Java SDK to completely integrate via your own 3rd party module.

Yes, your web developer hands are largely cuffed.

CSS is customizable via per-project style sheets, and by producing your own theme files. javascript can be injected via backdoor methods, but not to the point of presenting your own browser-side components.

---

<div class="post-metadata">

**Author:** ![YF129701](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/yf129701/32/60498_2.png) [@YF129701](https://forum.inductiveautomation.com/u/YF129701)\
**Post date:** [October 17, 2024, 4:27pm UTC](https://forum.inductiveautomation.com/t/frontend-background-ignition-capabilities/97398/3 "2024-10-17T16:27:50Z")

</div>

I think you would be best served going through the Inductive University courses, specifically, these two sections:

- [Perspective layout](https://www.inductiveuniversity.com/courses/ignition/perspective-pages-views-and-containers/8.1)
- [Perspective components](https://www.inductiveuniversity.com/courses/ignition/perspective-components-and-bindings/8.1)
- [Elective course](https://www.inductiveuniversity.com/courses/elective-studies/building-in-perspective)

Generally speaking, the `Perspective->Views` workspace in the designer is roughly your markup (`HTML`), the `Perspective-Styles` section is your `CSS` equivalent, and the `Scripting` workspace is your `JS` equivalent.

Of course, they overlap in all sorts of ways, but the points above are generally true, if you want a mapping from the traditional WebDev world...
