sudont
Joined 16 years ago
Joined 16 years ago
Performance is fairly good. I get around 5 seconds on a 4s, and about 8 on a Nexus S, though I haven't tested with recent code on the Android Phone. The only native API I've used has so far been push notifications. While there's a plugin for that, it works as a pretty thin bridge between native code, and a couple of dispatch functions that use stringByEvaluatingJavaScriptFromString. I've had to fix things, so it means having to understand Cocoa code anyway.
There are also some visual issues with the code, in that the view will save its state if the user uses a route in a view to change the current view. Normally this would help, but if it frequently updates the view changes back and then it flickers.
Overall it's ok if you really love web tech, but I'm learning native iOS development in response to my experience.
I think I was able to get about 40% of the way there in about five hours in Cocoa, the only real stumbling block was dealing with ViewControllers and UITableViews. Unfortunately for non-native platforms, if PhoneGap is positioned as a good starter for low-barrier apps, it doesn't bode well if a developer can go in fresh and with about the same amount of effort build one platform in whole, and about 20% of another...
The funny thing is Doctorow makes references to "just metadata" years before it became a public issue, however this goes beyond metadata, and will eventually contain facts about people, not just tangential stuff.
"This isn't P.I.I."—Personally Identifying Information, the toxic smog of the information age—"It's just metadata. So it's only slightly evil."
Not sure what would be more performant, REST or a websocket. Not doing anything would be the fastest, though!
Generally, the disconnect is that management is under the assumption that you can manage your way to success, so they add more overhead to watch and prod at the proceedings. Development is almost always an afterthought in most business projects. The first thing they do? Get consensus, which is generally everyone putting in ideas so that they seem involved—see Atwood's Duck[1]. After you have a ton of often contradictory ideas, you need to have them prioritized. And since nobody managing the project is technical, they need to hold countless "prioritization meetings with stakeholders and implementers." Often times the meetings will grind to a standstill while process analysts and engineers argue over the wording of things. Usually the analyst will tell the engineer that the business has standardized on a set of terms, of which are not the trade names for things. Maybe everyone uses a set of terms which aren't the "correct" wording.
After things are prioritized based on the wrong criteria, they're then pushed off to an engineering group who are tasked with implementing things exactly to spec. Since the definitions are incorrect, they need to constantly circle back and check with the stakeholders to double check. Occasionally checking in will involve a "subject matter expert" who is on vacation, and the only one allowed to answer the question. (Thus stalling that item and anything depending on it.) Others will often say "it's above my paygrade" in an attempt to avoid culpability.
After the project has run long and only has a majority of the features complete, people are reassigned to other projects, and the app is sent to QA to hand-test features. Sometimes it will involve the "stakeholders" sitting in a room for days or weeks, manually clicking their way through the interface. Maybe the project is declared a boondoggle, deleted, and replaced with someone else's pet project.
So yes, not logical.
It seems like there might be a niche for a "Delphi for the web" stack of reusable components and standard backend systems.
http://www.hbs.edu/faculty/Publication%20Files/09-083.pdf
Original discussion: https://news.ycombinator.com/item?id=7897662
It's in the article.
"Snap is the programming language for UC Berkeley’s Beauty and Joy of Computing curriculum (BJC), which aims to bring introductory CS to a wider range of students than the typical intro to programming does. BJC is also used at the high school level, and is a curriculum for the new AP Computer Science: Principles test."