Jump to content
David Schwartz

Hiring-related question: Delphi + javascript ?

Recommended Posts

At some point, I plan to hire a seasoned Delphi dev for a project. It involves building a web-app using TMS WebCore and a back-end service to support it.

 

There will be three parts: the client-side logic, client-side UI, and back-end services that will use several TMS Biz libs.

 

Learning to work with WebCore for the logic part is not a major conceptual jump for most Delphi devs, as well as basic (out-of-the-box) UI design.


As for the client-side UI part, WebCore has its own components and you can also use the TMS FNC components for the UI widgets, as opposed to VCL or FMX widgets. I find them easy to work with using the default settings.

 

However, they can be tweaked using javascript and HTML.

 

WebCore also lets you import most any javascript library, including GUI libs, and I'm planning to use a couple of non-GUI js libs so far on the client side.

 

I'm far from a js expert, and some of these libraries make my head spin.

 

So I'm wondering if I should also plan to hire someone who's got experience working with a variety of javascript libraries (particularly the ones I'm considering using), and expect them to learn enough Delphi to work in the IDE (either Delphi or VS Code) to help with all of the client-side javascript integration?

 

I'm sure this situation is not unique to Delphi and how TMS WebCore work. So I'm curious how others have made this sort of tech mash-up actually work in a real project environment?

 

The client-side logic could be done in C# with UI libs in the MS variant of javascript. The same issues will arise, right? 

 

Would you hire an experienced JS dev? Or just have the Delphi/C#/etc dev learn enough JS to make it work?

Share this post


Link to post

I never had any javascript experience before using TMS Web Core but from my experience it has been quite easy to integrate 3rd party components such as the DevEx DevExtreme DataGrid and others.

Share this post


Link to post

Hi @David Schwartz

 

As a web developer in 12 years, I’m sure no Javascript developer willing to learn Delphi. From their point of view, Delphi is dying programming language and the concept of two languages are different. Js eco (include NodeJs) has a lot of framework for both back-end and front-end, there is no reason for a Js dev using Delphi for the back-end! You could take a look at AdonisJs for an example!

 

And the Delphi dev also dont want to learn Js, it is a dynamic language and annoyed when using (it is why TypeScript was born).

 

If you would like to hire a Delphi dev who experienced with Js, please contact me! I’m willing to work 🙂

Share this post


Link to post
17 hours ago, nglthach said:

Hi @David Schwartz

 

As a web developer in 12 years, I’m sure no Javascript developer willing to learn Delphi. From their point of view, Delphi is dying programming language and the concept of two languages are different. Js eco (include NodeJs) has a lot of framework for both back-end and front-end, there is no reason for a Js dev using Delphi for the back-end! You could take a look at AdonisJs for an example!

 

And the Delphi dev also dont want to learn Js, it is a dynamic language and annoyed when using (it is why TypeScript was born).

 

If you would like to hire a Delphi dev who experienced with Js, please contact me! I’m willing to work 🙂

 

Maybe you'd want to look into WebCore before summarily dismissing it. When you click F9, it translates Delphi into javascript and generates a web app that then runs inside the web browser and can be debugged inside the IDE.

 

The devs went so far as to make it easy to integrate existing JS libs (both non-visual and visual) into the mix so you can work with what's already out there to create and access functions that live inside of the browser -- which, BTW, Delphi cannot do by itself. (Browsers don't know Object Pascal.)

 

You'd have a far better chance of getting hired if you actually looked at the technology in question and posted a more encouraging reply. But saying it's a dumb idea without knowing what it is, and that you're the only person I might find to do this work, isn't going to get you anywhere.

 

 

Share this post


Link to post
3 hours ago, David Heffernan said:

Why Delphi? Why not use something else? 

 

This really isn't about Delphi. WebCore is easy to work with and is quite adaptable to JS widgets and frameworks. I don't think that using something else to build the UI part isn't going to save me much time.

 

That said, given a moderately complex mobile front-end (UI) app design, do you think it would be quicker in Delphi + WebCore; JS + some IDE; or something else entirely?

 

What I'm having trouble with is finding someone who knows javascript for more than simple UI interactions and can build a non-UI library on top of another JS API lib that I need to use. THAT library they create can (supposedly) be integrated into WebCore fairly easily. It can also be accessed through HTML5 tags with appropriate parameters -- these are simply properties in the IDE that can be edited through a string property editor. The only Deplhi someone needs to know is about as complicated as figuring out how to edit similar properties in Photoshop and other IDE-based tools.

 

 

Edited by David Schwartz

Share this post


Link to post
On 9/12/2022 at 10:28 AM, David Schwartz said:

At some point, I plan to hire a seasoned Delphi dev for a project.

 

25 minutes ago, David Schwartz said:

This really isn't about Delphi.

 

26 minutes ago, David Schwartz said:

The only Deplhi someone needs to know is about as complicated as figuring out how to edit similar properties in Photoshop and other IDE-based tools.

 

Consider me confused

  • Like 1
  • Thanks 1

Share this post


Link to post

It's a web app, written in Delphi using TMS WebCore. I can do that myself, but I'd rather hire someone to do it.

 

You asked "why Delphi"? This whole project is like mixing oil and vinegar. I know Delphi and I know WebCore -- the "oil" part. What I don't know much about is the javascript and HTML that controls the UI in the DOM -- the "vinegar" part.

 

I'm also at a point where I want to stop doing everything myself and coordinate a team that's doing the work. 

 

I can hire a Delphi dev, or do the Delphi part myself. Either way, the Delphi part is not the problem I'm facing.


WebCore uses pas2js to translate Delphi into javascript and it packages it up so it runs inside of the web browser. This opens it up to the ability to interface with other JS libs and functions wrapped up in a way that they look and act like plain old Delphi objects.

 

As it happens, there are a bunch of properties in both the WebCore and FNC UI components that let you insert HTML tags to fiddle with things inside the DOM. I don't have a good understand of that side of things, and I'm not sure how many Delphi devs do either. But folks who work with JS know this stuff cold.

 

I don't need help with the Delphi part. What I need help with is the javascript stuff, and someone who's adept at those HTML tags that need to be set in the UI components to fiddle with things in the DOM.

 

It would be nice if I can find a Delphi dev who understands WebCore enough to make sense of this. But the javascript part is still way off in the weeds for me.

 

The JS person doesn't need to really know much about Delphi other than how to set and edit those HTML tags in the IDE's property editor. THAT is something that can be learned in two minutes as it's not unique to Delphi's IDE.

 

 

All that said, have you ever sifted through a pile of resumes for Delphi devs looking for people who can do low-level and back-end stuff, and you get a bunch of "form jockeys" whose entire Delphi experience is making hundreds of forms by dragging-and-dropping the fields from the little box that appears when you double-click a TDataset in the IDE, onto a form, and then moving the fields and captions around so they look nice? That's what I'm getting as far as people who claim to know UI programming with javascript.

 

I don't know much about js, but these people who are looking at my job posts can't even ask intelligent questions about my stated requirements.

 

Would I be better off just having the Delphi person learn javascript and slog through figuring out the JS side of things?

Share this post


Link to post

When I look to recruit people, I don't really care what technologies they've used. I am interested in how smart they are. But then I tend to be hiring for long term positions. So I don't even recognise a term like "Delphi dev".

  • Thanks 1

Share this post


Link to post
30 minutes ago, David Schwartz said:

Would I be better off just having the Delphi person learn javascript and slog through figuring out the JS side of things?

The question is how long are you willing to wait for that learning to happen? Most projects bring in a large team for startup then thin down, that is why you are getting the stack of resumes which seem to be bad fits.

 

The term "full stack" developer is around a lot, but for the last 15+ years the stack has been larger than most can learn, myself included.

 

38 minutes ago, David Schwartz said:

coordinate a team that's doing the work. 

Try thinking of it in phases, start with a larger team then thin it down.  Be warned, your dev's are going to want to jump ship as soon as the job does not fit the current market trend.

  • Thanks 1

Share this post


Link to post
1 hour ago, David Schwartz said:

As it happens, there are a bunch of properties in both the WebCore and FNC UI components that let you insert HTML tags to fiddle with things inside the DOM. I don't have a good understand of that side of things, and I'm not sure how many Delphi devs do either. But folks who work with JS know this stuff cold. 

Please be aware that the FNC components do not have the ElementID property.

  • Thanks 1

Share this post


Link to post

IMHO: look for Delphi WebCore dev who knows a bit of JS. If you build the GUI with WebCore and only need to integrate some JS libs, JS knowledge is not critical (well, some basic knowledge will be enough). But mixing WebCore with JS libs heavily doesn't seem clever option to me. The ideal solution is back-end with textual API only + JS-powered UI. Then you only need one Delphi dev for server and any JS-junior to build UI

Edited by Fr0sT.Brutal

Share this post


Link to post
15 hours ago, Fr0sT.Brutal said:

But mixing WebCore with JS libs heavily doesn't seem clever option to me.

errr ... WebCore runs pas2js and translates the Delphi code into js. 

 

The "clever" part is being able to code in Delphi, not the fact that the runtime is 100% js and it can work with virtually any existing js lib you can find.

 

What I need is someone to write a couple of classes for me in js that use another js lib, and then I want to access that lib from the Delphi language side as PODOs. 

 

The underlying library I need to use has some functions that use multi-threading to do things. I've been trying to do the multi-threading at the Delphi level, and it's just gnarly. I'd rather have a couple of classes to abstract out what I need at the Delphi level, and just let them manage things natively at the js level.

 

There are already a bunch of popular js libs imported into the framework that can be accessed on the Delphi side. That's how things work if you want to extend WebCore the same as adding components and libs to normal Delphi.

Edited by David Schwartz
  • Like 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×