Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Max Fechner
    @max-pub
    I love the concept of NodeKit!
    exactly like i would have envisioned a universal app platform
    What do you think is the best way to promote it?
    @guycreate
    @guycreate
    thanks for the feedback! like many ideas, was created to make own development easier, then realized others might benefit from it too.
    @guycreate
    @guycreate

    The API is close to stable but not quite until I think the Windows version is published to Github which should be in next week or so, and I think a simple node command line tool to package any app would be helpful. After these two milestones, I think promoting in Node weekly, and ideally getting it noticed in the various forums/hacker news/product hunt etc would be good but I think a few steps to get there

    • stable directory / repository structure
    • easy installation
    • a few samples that are already using it
    • a plugin list (pulled automatically from Github inventory)
    • first of three blog articles on each of the key concepts: abstracting the scripting engine peculiarities and allowing for best choice on each platform within constraints of App Store, JIT compilation, etc. -- opinionated that this could be an alternative (maybe better) approach than forking Node and submitting a huge pull request, but rather would accomplish more quickly what Microsoft, JXCore etc are after
    • second of three blog articles showing how Node can run in desktop and mobile applications and show the same application running on all three with video/animated gif footage
    • third of three blog articles describing approach to universal app development, leveraging a subset of the now proven electron API as a way to make this easy
    • then submit to as many forums as possible!

    Thoughts?

    Max Fechner
    @max-pub
    That all sounds quite good to me. From my perspective the two main selling points of your approach are
    • first true universal app-platform (all desktop & mobile)
    • small footprint (<10mb) compared to electron, NW, etc
    Then, as you mentioned, "easy setup" and "examples" are important to get as many people as possible start using it.
    I'd be happy to support this great project! As I'm more of a web-developer maybe I could help with the "examples"-part?
    Max Fechner
    @max-pub
    To earn money you could offer "cloud compilation" & "app-store-deployment"! Every developers dream :-)
    sriper
    @sriper
    I love this concept.
    What does it mean in terms of MEAN stack?
    @guycreate
    @guycreate
    Thanks. I think MEAN stack can co-exist with NodeKit if that's your preference. The EAN (Express, Angular, Node) run directly within NodeKit so as the front end that part should just work. Only packages that have native compilation for execution (during development is fine) are restricted, and I regularly use Express or equivalents like IOPA which are all pure javascript. Mongo is harder -- as to truly make it a portable app you might want to run it embedded. If its on a server accessible over network or Internet, then no issue just open a network connection, but otherwise you'd to embed it somehow in each platform. I'd suggest as a lightweight alternative instead looking at Level DB as I found the pure-javascript version of that (level-up + level.js implementation on top of indexdb) works extremely well inside NodeKit.
    sriper
    @sriper

    Thanks a lot. One more question, Is this Windows 8 & 8.1 ready? I'm trying to build the windows solution in Win8.1 and getting "An exception of type 'System.DllNotFoundException' occurred in io.nodekit.NKScripting.win32.dll but was not handled in user code

    Additional information: Unable to load DLL 'Chakra.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)"

    @guycreate
    @guycreate
    NodeKit will be Windows 8 & 8.1 compatible, but right now by default it's looking for Chakra.dll which is the newer JavaScript runtime API supported in Windows 10 / Edge browsers. Windows 8 & 8.1 have a similar API in jscript9.dll so I will add that as a supported but distinct engine, although you would have to make sure IE 11 is installed. I would look to the community to develop for earlier engines (fairly straightforward, most of the boilerplate already done, and would just be another engine type), but would suggest instead to just include the 2-4Mb version of ChakraCore. The 4Mb version has JIT compilation so the speed of Edge, the 2Mb is for JIT restricted environments but in my view would be better than IE9. All this said, nodekit-windows doesnt yet include {NK} Core, expect that in coming week, and at that point I will start to test on multiple platforms including Windows 8.1 and adjust the instructions and build targets accordingly. I do think 8.1 support is a strong use case.
    sriper
    @sriper
    Thanks, Yes thats correct Win8.1 support is must.
    sriper
    @sriper
    When can I expect the NKCore for Windows, I'm curious :smile: . I want to load the static file from the disc and test. It's awesome man. I liked your approach.
    Max Fechner
    @max-pub
    I just wanted to give nodekit a try but the most recent sources fail to build... am I missing sth?
    @guycreate
    @guycreate
    NKCore for windows is getting closer. Took a detour to get the Mac side automated for testing and building, and to create a more compelling (but straightforward) sample app.
    Recent sources fail to build? OSX/iOS or Windows? Since its now automated with public build logs on travis and circle (OSX/iOS) and appveyor (Win), this should be easier to diagnose.
    Max Fechner
    @max-pub
    how about a prebuilt .app - file a la electron?
    so users would just have to copy their webapp into "package contents"
    @guycreate
    @guycreate
    Yes actually the base code already allows for both copying the files into package contents or just running the executable from same directory as some content, just need to figure out the best practice for code signing etc., and good point electron is probably a good model. Wasn't going to document it until the base version is working on both Mac and Windows and still some work to do. Hopefully more to come soon, hope to do another interim release by Monday
    Tim Fish
    @timfish
    This project is looking rather promising
    The android repo is currently 404'ing though: https://github.com/nodekit-io/nodekit-android
    Tim Fish
    @timfish
    Some of the node modules I'm using in Electron use node-gyp. How does this work with nodekit?
    @guycreate
    @guycreate
    Unfortunately node-gyp modules won't work without change as such modules assume the javascript engine is the V8 and libuv is installed. In general, I've found that there are nearly always pure javascript equivalents (often described as for the browser, but work well in NodeKit on desktop and on mobile). If we really wanted we could right our own binding for each platform as Microsoft has done, but it seems better to keep people in pure javascript for the philosophy of this particular project.
    Thanks for the 404 on Android, yes that is yet to come, but should add a placeholder in Github.
    Tim Fish
    @timfish
    I need node-serialport, noble (Bluetooth LE) and in some cases node-ffi to access legacy hardware drivers. I know I can access Bluetooth LE using some cordova libraries and JavaScript API on Windows 10 but for everything else, I'm out of options
    @guycreate
    @guycreate
    Got it. Yes serialport and bluetooth are both on my personal list to accomplish. Right now there are about 5 platform specific functions and will be relatively straightforward to add these. Just a note that NodeKit for windows is not functional yet -- NKScripting and NKElectro both fairly developed, but the NKCore is still in active development/testing (hence why demo won't quite work yet). Once this is done, I would check the CrossWalk libraries as there be some already that cover this, but if not will certainly add to the roadmap.
    Tim Fish
    @timfish
    Thanks, I'll keep an eye on your progress. Lack of "bond-less" Bluetooth LE connections in Windows 10 is still a sticking point for my project but I've heard MS are working on that. Electron made sense to me a couple of years ago but less now. The Electron team were not very responsive about including any of the chrome.* apis (chrome.serial and chrome.bluetooth would have made life very easy) which seemed a little strange as the chrome team had already done all the cross platform work. The answer was always "there are node packages you can use".