Giter VIP home page Giter VIP logo

myprogrammingjourney's Introduction

How I got started on developing software that can be used in Photoshop and what has it taught me?

If you are like me, you love programming and you are interested plugins or extensions / panels works inside a software like for Adobe Photoshop. So I made a quick guide on how to get you started and avoid you some headaches by shadring with you the path I took to learn what I know today, but first I'll tell you a little bit about who I am.

I'm Mario OM, a freelance Photographer, Retoucher, Matte Painter, CGI artist, basically a multidiciplinary artist who founded a software company and a Artist Community called Composite Nation on April 15 2018, which is my main life playground and hobby. I spent 2 years destroying walls and finding ways to learn to program what I wanted to program, It was very deifficult for me becuase I was not used to think logically but with a more chaothic and less structural thought patterns. I had to learn to be a full-stack developer to build my project the way I visioned. Today I work on this 24/7 and nothing excites me more than learning new ways to expand this even more. My life changed drastically when I start started learning to program, even my artistic vision was expanded 10xINFINITE.

So here's how I started:

PHASE 1

I started by learning the most basic stuff, the foundation of programming on this amazing site, the language I learned first was Javascript. Which is the main language that is used on this Adobe Photoshop extensions and scripts.

  • W3Schools Here you can learn step by step the foundation of Javascript.
  • Solo Learn This is another amazing website to learn to program the basics. I have this one installed on my smartphone and when I travel I enjoy a lot learning another languages. Here I practice a lot my knowledge with Javascript and I learned the foundation of other languages like Pythong and C++. But let's just focus on Javascript today.

Javascript is such an amazing language, once you understand all the things that can be done with this. You can even create stand alone apps aswell with this language using frameworks like Electron and the same I use for my server side, the powerful Nodejs.

PHASE 2

Once I was a little bit more condifent by understanding how to read Javascript every where (at least the foundation), I found and bought HTMLPanelsBook, an amazing course by this funny and talented italian developer, Davide Barranca. You'll see how it is very easy to follow his teaching on this course, it is so clear that even though after two years that I took the course I still learn something from it. So this is a extremely recommended course for you if you are interested to write CEP Panels / Extensions for Adobe Photoshop.

Starter Toolkit

Here are some tools that I use daily that will help you to become a developer.

First, you'll an IDE (Integrated development environment) to write code. Here's the one which I used to start programming:

  • Brackets This is the one that is used by Davide on the HTMLPanels book.

Second, this software will help you to debug your scripts.

  • Adobe ExtendScript Toolkit CC To install this one, open your Creative Cloud Desktop Apps preferences, select Apps tab and check Show old Applications. You will find ESTK in your Apps list. However, ESTK is a 32bit app and no longer works in Catalina. (Instructions extracted from this Adobe Community forum.

Third, prepare yourself for the most painful but satisfactory journey of your life. Writting code can be painful if you cannot get your code to run correctly and you can;t find any where how to solve it, but it is a shot of dopamine when you succeed on your goal, for real, It is very exciting doing a "Hello World" and see that runs exactly the way it should work.

Now imagine how I feel after spending at least two years working on my project inside my cave and then releasing my first plugin to the world, the feel of creating software by yourself is the most satifactory thing in the world. And better to understand computers on a binary level is so damn beautiful. As an artist that became a programer and someone who loves so much writting code, code is to the programmer as the pixel is to the photographer. So mixing pixels with code is just fucking AMAZEBALLS!!

There´s is a point that you reach when you're studing programming that you are able to understand the fundamentals and it becomes an irresistible satisfaction when seeing code, at least that happens to me. Being able to understand those paragraphs that I have ever seen as hieroglyphics fills my brain with dopamine, it makes my creativity spurt.

Today I've got more superpowers, I learned GLSL (OpenGL Shading Language, which is the core language that is used to manipulate the pixels at your will using the GPU and I fall in love with vectors, math in general is just amazing when you see it from an artistic point of view. I also learned C++, which personally I think is so damn cool but harder than Javascript, I'm learning nowadays how to develop software from zero.

If you are interested to learn GLSL you have to be open minded to learn a weird but cool language. Also you need to understand about algebra, vectors and that stuff, let's say you are going back to highschool, which I loved this GLSL first steps aswell, made me see the beauty of maths in context of art. Here are some resourcers for you to get started on this:

  • The Book of Shaders This an amazing online book that helped me to understand the foundation of GLSL.
  • WebGL WebGL is nothing more that using the GPU on the browser, which is amazing. So I recommend you to get into WebGL first becuase it is Javascript and after that once you understand how WebGL works, you could migrate to OpenGL as it kind of the same structure but OpenGL is hard because it is C++. But what the hell, if you like it you'll get anywhere you propose yoursel.

If you are interested to know more about me or what I create, here are my social media accounts:

Here's the project of my first plugin that I developed for Photoshop. You'll find here also some UI designs I went through:

  • [Oniric]

You can join the composite Nation Community and Support group to see what the members are doing with the various softwares I've created so far.

This is just the beginning, and I feel like a knowledge snowball going down the hill. Learning new things makes me happier, sharing them with you makes me even happier. So hope this can be helpful for you if you are starting on this or at least this can be inspiring :).

PS.

Never give up on anything that you want in life

Everything is possible if you believe it is. And there will be always people that will tell you that your idea or dream is impossible, my advice is, take those opinions as a challenge and motivation, that is what I do and I'm greatful to those non-believers for those pushes!

Become unstopabble. All the knowledge is out there. Focus and you'll achieve anything.

Mario OM

myprogrammingjourney's People

Contributors

molvera3 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.