NetTalk Central

Author Topic: Comparison of NetTalk and other web dev frameworks  (Read 3254 times)

Devan

  • Full Member
  • ***
  • Posts: 230
    • View Profile
    • Email
Comparison of NetTalk and other web dev frameworks
« on: January 28, 2014, 10:54:15 PM »
Hey all, just thought I might try and see if we can get an open discussion going on the comparative strengths and weaknesses of different web application frameworks.

In recent months, I've been involved in creating several web apps using a Ruby framework.  No, not Ruby on Rails, but one called Padrino, which is based on Sinatra.

Overall, I found the Ruby syntax to be quite elegant - in a similar way that I think the Clarion syntax is also elegant.

Here are my findings so far...

THE GOOD:

* MVC - Biggest advantage I can see to Rails/Padrino etc. is the separation of the data models from the rendered views etc.  The MVC (Model/View/Controller) methodology took a bit of getting used to, but once I figured it out, it became quite a productive process to create new pages and tie them all back to the back end data models.  Like Clarion, the MVC paradigm allows for different back ends to be interchanged.

* Environments - I love the way that Rails/Padrino allows you to switch between development, testing and production environments, including creating and managing separate data sets for each stage of the development process.  I can freely create junk testing data in 'development' mode, then switch to 'production' and check reports in the live database without fear of overwriting the wrong database.  Just one system flag to change between environments.

* Rendering engines - I like the way that these frameworks can use different 'engines' for rendering the final HTML.  I am particularly enjoying using HAML as a markup language.  The 'View' paradigm really makes in a cinch to create chunks of HTML and arrange them on a page.  This is probably the BIGGEST advantage of NetTalk that I am really enjoying.  I like that you can create code snippets in NetTalk too, but it is a lot more difficult to 'see' the big picture of how the whole page will eventually look when you have lots of snippets that are inserted into a page programatically.  If we could pull all the page rendering code out into a separate templating system in NetTalk, I will be in heaven!

* View independence - Related to my point above, I found it SO much easier to integrate third party templates that are available for sale out there into my Padrino projects that I did into my NetTalk projects.  I like that you can opt to use a Bootstrap framework, or even a WordPress one with some mods.  I like the themes that are provided in NT, but I would really like to be able to pull a third party one off the shelf and have it work quickly and easily.


THE "I'M STILL NOT SURE"

* ORMs - Object Relational Models.  In one aspect, I find them great.  I can add or change fields in a model file and then run a 'migrate' task to make on the fly changes to the actual database.  Very much like a Clarion dictionary sync.  The ORM also contains all the relationships between the model object, which aren't really as intuitive as you first think, but eventually make sense.

I LOVE: That you don't have to write SQL any more, even for complex multi table joins.  If I wanted the invoice date, I would just ask for:

Code: [Select]
invoice.date
which I could place on a view to show the user.  What astounded me is how easy it was to do complex things, such as finding out the total cost of all line items belonging to the current invoice.  It is as easy as:

Code: [Select]
invoice.invoice_detail.sum(:item_total)
where 'invoice_detail' is the child model for 'invoice' and ':item_total' is the symbol pointing to the table column 'item_total'.

I HATE: That some of the SQL generated by the ORM and sent to the back end is quite inefficient.  Also ORMs seem to have great difficulty interpreting custom Views that you might have created yourself, or even legacy databases that a rigid in nature.


THE BAD

Still haven't found anything REALLY bad here that I think is worthy of mention, but I am sure I may come across some as I delve deeper into this world.




Given that Bruce has talked about NetTalk evolving into a more of a 'stand alone' product which is not necessarily linked to Clarion, I am wondering if things such as MVC, ORMs etc. are part of the roadmap.

How about others out there in the NetTalk world?  Anyone dabbled in other frameworks?  How have you found them?

Just to clarify, I still love and use NetTalk for a lot of projects - I just thought I would share my discoveries as I venture out into other parts of the web development world.

NOTE: If you want to check out

osquiabro

  • Hero Member
  • *****
  • Posts: 667
    • View Profile
    • Email
Re: Comparison of NetTalk and other web dev frameworks
« Reply #1 on: January 29, 2014, 02:44:04 AM »
NT is a rock and very stable, but for me the "* View independence" comment is really important, working with css is very difficult and why reinvent the wheel?

With NT i created very fast projects and my clients are very happy...