Show HN: Paymo Time Tracker – React and GraphQL-based Photoshop Plugin (exchange.adobe.com)

35 points by janlukacs 128 days ago

9 comments

olivierduval 128 days ago

Interesting... but I see no information about react/graphql use to code this photoshop plugin!!! THAT would be really interesting. Is the source code available anywhere? Is this plugin a "standard" C++ plugin with a browser built-in loaded with react/graqhql?

    ashryan 116 days ago

    Extensions like this are built on Adobe CEP technology. CEP itself is built on top of CEF (Chromium Embedded Framework) and Node.js. Since the web view is Chromium, you can use your favorite JavaScript frameworks and libraries to build the extension.

    We just released CEP 8.0 last week, which updates to CEF 57 and Node.js 7.4.4.

    More info on CEP here: https://www.adobe.io/apis/creativecloud/cep.html

    And we have a GitHub org with libraries and samples here: https://github.com/adobe-CEP/

    janlukacs 128 days ago

    It's built on top of Adobe CEP runtime - https://github.com/Adobe-CEP Extensions are loaded into applications through the PlugPlug Library architecture. With CEP 4.0, HTML/JavaScript technology can be used to for these extensions.

    The actual app is a standard web app based on React that connects to a GraphQL server.

mementom 127 days ago

Adobe CEP HTML Engine is based on Chromium Embedded Framework (CEF) version 3. It includes also a version of IO.js under the hood. Despite of it's now merged back with the Node.js project, developers have access to browser, but to entire stack of "server" technologies also.

k__ 128 days ago

Didn't know you could write Photoshop plugins in JS, nice!

    agopaul 128 days ago

    Many Adobe CC products support CEP which allows to run HTML5 + JS panels/extensions. Under the hood, it's a nodejs environment with additional APIs to interact with the application (launching scripts).

    Edit: fix typo

    TAForObvReasons 128 days ago

    There is an API in newer Photoshop versions called Common Extensibility Platform. ExtendScript, a dialect of JS, is also supported in older versions.

      cpr 128 days ago

      But note that those two are entirely different things.

      CEP is for building extensions with HTML+JS+CSS. ExtendScript (an old JS dialect plus Adobe extensions) is for internal product scripting (e.g., building/manipulating the document model in InDesign).

      You can bridge the two, of course, but there's no direct connection or even relation without explicit developer effort.

eistrati 128 days ago

Very nice job, my friend :) I'll recommend our team to take a look.