I dropped into the Angular JS Meetup this evening at Google Chelsea Market Office. It was an enjoyable evening, even if 2/3 of what was said was only loosely connected in my brain.
I think Russell made a great point by mentioning that you should be sure to allocate time in the beginning to refactor the arcitecture of your app. It's will inevitably need to happen to have the best product, so you might as well allocate for it.
It was also interesting to hear how they tried to keep all the data bits in one factory(?), but I think then split it up so that each controller had its own data service.
One of the things I tend to struggle with in using Angular is how to break everything up so I don't wind up with a mega-controller.
Words I didn't understand.
Disclaimer: As per the heading, these are things I don't fully understand, so please don't read any of this as fact.
I try and write down the things that I'm not clear on. (At least the ones that were repeatedly said.) I'm a firm believer that the more times you are exposed to things eventually you will understand them.
It seems that Ionic provides native-style components/interactions/tools for building interactive apps. (Built with Sass and optimized for AngularJS.) I really had no idea this was even a thing, but it's kind of awesome that it is.
Originally I thought that Ionic was doing the conversion to native, but it actually seesm like it is Cordova that is. How, I don't know.
This is all a bit confusing, I admit. But for a first dip in, it's neat to know that these tools exist. I do wonder, however, what the actually end advantage is of having a native app rather than just a web-app. (Easier for user to access? More capabilities available?) Also, I would be interested in knowing if you would be able to maintain one code base for both your web-site/native apps.
On ionic's site, they refer to these as 'hybrid' apps and note that:
Hybrid apps are essentially small websites running in a browser shell in an app that have access to the native platform layer. Hybrid apps have many benefits over pure native apps, specifically in terms of platform support, speed of development, and access to 3rd party code.
Long Poll / Websocket Connection from API
What this does is give the server a way to tell the client when it has new information. But, the client has to ask for it, and the server holds the request until it has something to send. Once it does, it sends it, and the client immediately sends another request for the server.
The other side of this is something called Web Socket. I guess how this works is that some sort of handshake takes place between the client and the server and then the data connection is left open.
flux / redux
These are going to require a little more energy that I have right now... Circling back on these.
Server Message Block Protocol. I guess this is a Microsoft way for computers to read/write files and to request things from servers?
Now, if I could just hear that talk with all this information first!
Open Camps will be the largest mission-driven open source conference in the world, with 6,000+ attendees joining for 25+ conferences & events, featuring 400+ sessions on dozens of open source technologies.
Sounds like a fun event with an extremely reasonable price point (~$20 or less). Definitely a must check-out for July 16, 2016!