Dave:

Thank you so much for that excellent description of the path you took. Though 
it is all hard work ahead doing it, as you point out, it will likely help 
getting my head wrapped around the new 4D language. For ADE (Argus Development 
Environment) I had the ADE create the documentation framework automatically for 
Users, Admins, and Developers. As my wife points out, I need to have the 
documentation on the web to be taken seriously today. So whether that is the 
first project I do, or the one for a current client I think that you have 
helped me make up my mind. I like that you even described the tools you are 
using, AND how you learned the languages.

I really liked Lightening, and Aparajita’s Active4D. They fit very nicely in 
with 4D. I think though I will try to go the harder route in the anticipation 
that it will take me longer, but will stand the test of time.

Thanks again for after a post so long ago that you thought to respond.

Jody 

> On Jan 25, 2022, at 16:06, Dave Nasralla via 4D_Tech <[email protected]> 
> wrote:
> 
> Hi Jody,
> 
> Well, I started completely from scratch (regarding frontend
> development) about 6 months ago. I'd been avoiding it and finally had
> a situation where it was needed.
> I don't know if this is the best route, but it's the one I took.
> 
> Javascript:
> I choose scrimba.com for learning HTML, CSS, and Javascript. It's a
> remarkable platform for learning. The lessons are short and you can
> pause the lesson and insert your cursor into the code they are
> demoing, try stuff, then hit play and the code reverts. They have a
> frontend developer's path - I did the first 15-20% and got what I
> needed to get my project going. As I started to learn javascript I
> thought "This looks a lot like the direction 4D is headed"
> 
> Framework:
> What I learned about frameworks, is that you need to pick one that is
> going to be supported. In scrimba, they picked REACT because they say
> it is maintained by Facebook. I did not take the time to learn REACT
> because my project was for mobile devices and I got some starter code
> from a developer that used jQuery Mobile. Of course, jQuery Mobile
> stopped development and maintenance back in Oct, but it's good enough
> to get me going. (Hence, pay attention to the framework you learn!)
> jQuery itself may have more longevity - I don't know.
> 
> Software:
> Web Browers have AMAZING developer tools right in the browser. I chose
> Chrome. Just hit F12 (mac) and BAM, you have a full debugger. You can
> trace your Javascript, set break points, force the cache to always
> load from the server (key to testing), see all your variables. Pretty
> cool!
> 
> Visual Studio Code (mac)
> Pretty powerful editor. It has features I wish 4D had like:
> - option-shift-down arrow: will instantly duplicate your line to the line 
> below
> - option-click: you can put multiple cursors on the same document.
> You can put 6 cursors in six places and when you type you type (or
> delete) in all six places at the same time.
> - support for Emmet. As best I can tell it's a standard set of macros
> for development. Remarkably powerful. https://emmet.io/
> 
> Communicating with 4D:
> I chose JSON. It seems like a format both Javascript and 4D like. They
> literally have the same commands for converting objects to JSON and
> back.  On the web page I create an object in Javascript with all the
> data I am sending to 4D (including signon info, tokens, anything). You
> stringify it and send it to 4D with a Post command. I send it via
> 4DAction. The Object shows up directly in the 4D method and you parse
> it to a 4D Object. I rolled my own token system so I can know if the
> "user" is authorized for the method.  I essentially created an API for
> my app. The nice thing is that it completely separates 4D from the
> HTML. The advantage is I don't have to rebuild my 4D application to
> update the interface - since the interface is just HTML and Javascript
> files. If our web guy needs info, I just create a method for him that
> returns what he needs.
> 
> The biggest leap for me in making calls from Javascript is that the
> calls should be asynchronous (synchronous calls have been deprecated
> in general because they mess with the web users experience). This
> means that before you make a call to 4D from a web page, you tell
> Javascript which function will (if it ever gets a response) run when
> the browser gets a reply. You make the call and then the webpage
> continues as if nothing happened.
> 
> Good luck! I'll be curious which way you decide to go!
> 
> dave
> -- 
> David Nasralla
> Clean Air Engineering
> 
> 
> On Wed, Oct 20, 2021 at 11:17 AM Jody Bevan via 4D_Tech
> <[email protected]> wrote:
>> 
>> I have asked a similar question over on the FORUM, and got two responses. I 
>> know more people than two have developed web pages and 4D applications 
>> working together.
>> 
>> I really need to get into designing both.
>> 
>> - The advantage I have is that I am starting from scratch with web 
>> development and 4D and the web. The 4D database linked over the web that I 
>> personally developed with HTML back in the early 90s are way out of date. I 
>> want to learn the new way of working, because that will future proof my 
>> skills, and the sites/Applications I develop.
>> 
>> - The disadvantage I have is that I am starting from scratch.
>> 
>> OK, having said that what tools do you recommend (and why)? There are so 
>> many web development tools, and so many web developers that want to gobble 
>> up the Database application behind it all (thus my work) as they ‘can do it 
>> all’.
>> 
>> - I have seen talk about Angular, AngularJS, React ( Frameworks - correct).
>> - There are new tools in 4D since back in the early 90s obviously.
>> - Yes, REST is important, but what does that mean.
>> 
>> A white paper from 4D on 4D v19 and the web and working together would be 
>> very nice to have.
>> 
>> The web sites I developed way back then, everything was in 4D. I wrote all 
>> the static HTML and stored, and sent it out from 4D. That was then, but from 
>> what I understand now things can work better as the WebServer itself can 
>> interpret the JavaScript to execute code there - thus being faster. Of 
>> course scalability is important to. No use using a tool that cannot scale. I 
>> remember the first time I installed at a site with 150 concurrent users, and 
>> a 20 x 300 foot chart room that would be put into our system along with all 
>> new data. That scared me, but 4D 2004 did it.
>> 
>> Any comments, thoughts, warnings, or drop by and say hello are all 
>> appreciated.
>> 
>> Thanks
>> 
>> Jody Bevan
>> **********************************************************************
>> 4D Internet Users Group (4D iNUG)
>> New Forum: https://discuss.4D.com
>> Archive:  http://lists.4d.com/archives.html
>> Options: https://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:[email protected]
>> **********************************************************************
> **********************************************************************
> 4D Internet Users Group (4D iNUG)
> New Forum: https://discuss.4D.com
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:[email protected]
> **********************************************************************

**********************************************************************
4D Internet Users Group (4D iNUG)
New Forum: https://discuss.4D.com
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[email protected]
**********************************************************************

Reply via email to