No announcement yet.
  • Filter
  • Time
Clear All
new posts

    Use SmartClient with React App

    This post has been reposted in Technical Q&A
    Last edited by lpolvani; 18th Jun 2020, 12:38.

    Must be a problem with your installation or existing dependencies. Starting clean, with npm 6.13.4 on Linux, we're able to run "npm install smartclient-lgpl" successfully with no errors, though there are some warnings about dependencies that should be updated.


      We are trying to build on Windows 10, Node LTS


        Just for the kick of it I retrieved a 6.x version of node and tried to install smartclient-lgpl on a clean project.

        That's the result:
        PS C:\Users\lpolvani\Desktop\n6-smartclient> C:\dev\node-v6.17.1-win-x64\npm.cmd install smartclient-lgpl --branch=12.1 --date=latest
        > smartclient-lgpl@0.3.0 install C:\Users\lpolvani\Desktop\n6-smartclient\node_modules\smartclient-lgpl
        > node update.js
        Install SmartClient 12.1 runtime, build date latest, at C:\Users\lpolvani\Desktop\n6-smartclient\isomorphic? [yes]:
              throw er; // Unhandled 'error' event
        Error: certificate has expired
            at Error (native)
            at TLSSocket.<anonymous> (_tls_wrap.js:1092:38)
            at emitNone (events.js:86:13)
            at TLSSocket.emit (events.js:185:7)
            at TLSSocket._finishInit (_tls_wrap.js:609:8)
            at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:439:38)
        npm WARN n6-smartclient@1.0.0 No description
        npm WARN n6-smartclient@1.0.0 No repository field.
        npm ERR! Windows_NT 10.0.19041
        npm ERR! argv "C:\\dev\\node-v6.17.1-win-x64\\node.exe" "C:\\dev\\node-v6.17.1-win-x64\\node_modules\\npm\\bin\\npm-cli.js" "install" "smartclient-lgpl" "--branch=12.1" "--date=latest"
        npm ERR! node v6.17.1
        npm ERR! npm  v3.10.10
        npm ERR! code ELIFECYCLE
        npm ERR! smartclient-lgpl@0.3.0 install: `node update.js`
        npm ERR! Exit status 1
        npm ERR!
        npm ERR! Failed at the smartclient-lgpl@0.3.0 install script 'node update.js'.
        npm ERR! Make sure you have the latest version of node.js and npm installed.
        npm ERR! If you do, this is most likely a problem with the smartclient-lgpl package,
        npm ERR! not with npm itself.
        npm ERR! Tell the author that this fails on your system:
        npm ERR!     node update.js
        npm ERR! You can get information on how to open an issue for this project with:
        npm ERR!     npm bugs smartclient-lgpl
        npm ERR! Or if that isn't available, you can get their info via:
        npm ERR!     npm owner ls smartclient-lgpl
        npm ERR! There is likely additional logging output above.
        npm ERR! Please include the following file with any support request:
        npm ERR!     C:\Users\lpolvani\Desktop\n6-smartclient\npm-debug.log
        PS C:\Users\lpolvani\Desktop\n6-smartclient>


          We're going to try to reproduce this seemingly Windows-specific error (again, other versions of NPM work fine), however since all NPM does is copy some files around, and since the NPM module doesn't include our server support (which you have licensed), you can and should just use the SmartClient SDK directly.

          Also, we would strongly recommend against mixing React and SmartClient. React's UI components are extremely underpowered relative to SmartClient, and React has no server framework. Mixing React and SmartClient will simply lead to lower productivity and a worse final result. The only reason to mix the two technologies would be if there is an extremely large and complex existing application already built in React. Otherwise, it's probably best to simply replace whatever was built in React with SmartClient instead.

          Note that there are multiple difficult or intractable problems when you mix any two sets of UI widgets together:

          1. different appearance and different skinning mechanisms
          2. internationalization has to be done twice
          3. frameworks will not understand each other's modality mechanisms and will end up with widgets not being correctly masked
          4. frameworks cannot understand each other's drag and drop systems
          5. tab and keyboard navigation will collide and the final, mixed application will not meet required accessibility standards

          This isn't specific to SmartClient, these are just the basic problems that come up when you try to combine widgets from two frameworks. In fact, SmartClient is the only framework we know of that can truly host third-party widgets, and still meet standards around accessibility and modality.


            The problem was apparently a very old dependency that yielded warnings on Linux, but actually broke on Windows installations. We've replaced that dependency in our npm packages which should fix things. Look for version 0.4.3 across the smartclient-lgpl/pro/power/enterprise/eval npm modules.

            Verified on Windows with node: v12.18.1, npm: 6.14.5 and on Linux with node: v8.17.0, npm: 6.13.4.