www.webdeveloper.com
Results 1 to 4 of 4

Thread: Creating a page through Server-Side (PHP) or Client-Side (JS) Scripting?

Hybrid View

  1. #1
    Join Date
    Sep 2004
    Location
    At the corner of WALK and DONT WALK
    Posts
    1,832

    Creating a page through Server-Side (PHP) or Client-Side (JS) Scripting?

    Years ago, I created a page called the Cross-Referenced Catalogue of DragonSpeak Lines. Now, the page is (currently) mostly created through JavaScript, as it needs JavaScript to be at all useful anyways. But recently I've started redoing it, and I was wondering--should I stick with generating the JSON file through PHP, and then creating the webpage itself using the JSON file for instructions, or should I simply create a massive page through PHP?

    The current JSON file is 224KB, for your information--there's a LOT of stuff going into that file, as shown by three simple queries on the tables involved:

    Code:
    mysql> SELECT count(*) FROM ds_lines;
    +----------+
    | count(*) |
    +----------+
    |      894 |
    +----------+
    1 row in set (0.00 sec)
    
    mysql> SELECT count(*) FROM ds_categories;
    +----------+
    | count(*) |
    +----------+
    |      207 |
    +----------+
    1 row in set (0.00 sec)
    
    mysql> SELECT count(*) FROM ds_line_categs;
    +----------+
    | count(*) |
    +----------+
    |     5805 |
    +----------+
    1 row in set (0.01 sec)
    Last edited by Mr Initial Man; 01-22-2018 at 06:42 AM.

  2. #2
    Join Date
    Oct 2017
    Posts
    16
    It depends on what you really need and what is the logic of your app. Looking at your brief description it is difficult to give you definite answer. In general both options are possible.

  3. #3
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    22,326
    The current trend these days is a thick-client approach on the browser side (i.e. lots of JavaScript (e.g.: Angular or a similar framework)) which makes multiple calls to API endpoints on the server-side as needed to get the data it needs. As to whether that's the best approach for your needs versus just "what the cool kids are doing" is hard to say. IMO, it's probably only a preferred approach if you expect a lot of interaction on a browser page with your data: e.g. click on this to change what's displayed to that, then click on that to change what's displayed there, and so forth. As far as response time, it's probably faster -- in terms of initial page view response -- than downloading all the possible data so that it's all there for JavaScript to work with, depending on how much data we're talking about; but it could be just about as responsive to do it mainly on the server-side: providing a fresh page on each request. There's a lot of "it depends".
    _
    "Well done....Consciousness to sarcasm in five seconds!" ~ Terry Pratchett, Night Watch

    How to Ask Questions the Smart Way (not affiliated with this site, but well worth reading)

    My Blog
    cwrBlog: simple, no-database PHP blogging framework

  4. #4
    Join Date
    Sep 2004
    Location
    At the corner of WALK and DONT WALK
    Posts
    1,832
    The page in question is completely pointless without interactivity, so yeah, LOTS of interactivity.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center

"

"

X vBulletin 4.2.2 Debug Information

  • Page Generation 0.20582 seconds
  • Memory Usage 2,979KB
  • Queries Executed 13 (?)
More Information
Template Usage (30):
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (4)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (27):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./includes/functions_threadedmode.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (71):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • bbcode_parse_start
  • postbit_imicons
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates