What will Google App Inventor mean for mobile software development?
Google Labs will be rolling out something called Google App Inventor (for Android). CNet says:
"To use App Inventor, you do not need to be a developer. App Inventor requires NO programming knowledge. This is because instead of writing code, you visually design the way the app looks and use blocks to specify the app's behavior," the Google project description states.
I sense a big, big development here. This is big. The Android platform is really gaining ground on a big range of devices: phones/pda's, netbooks, tablet pc's and embedded systems.
The underlying Android SDK is a well-written framework, but only a reasonable java-programmer has the knowledge to use the components to build a proposed piece of software.
I spoke a lot of people about the android platform. A phone with Android is not a phone. It's a device with wireless and 3G internet capabilities, bluetooth capabilities, a camera, a speaker, a microphone, a touchscreen, a motion sensor and a GPS receiver. These components can be combined in endless ways, the sky is the limit.
Until now, you would need to hire a Java programmer to build that 'genius app' for you.
But now, everyone and his sister will be building them, publishing them, and improving them.
Don't you think this is going to be big?
While I think the other answers have got it right that programming is a slowly learned skill that cannot be replaced overnight with a nifty interface, there are a couple of things that may yet make this pretty interesting:
Built-in support for interfacing with popular services like twitter, etc..
The ability for power-users to do crazy and interesting stuff by stringing together some formulas. Sometimes a power-user with a crude tool can be more in tune with solving real problems than a programmer who is trying to brainstorm an app that will sell. I'm thinking primarily of Excel here, where a business user can learn a powerful mini-language to solve their personal problems, often in ways that are either brilliant or horrifying.
Will it result in tons of crappy apps? Probably. But it will also put pressure on Java developers to up their game and produce better stuff - or get buried in the flood.
No, I don't think that it is going to be big. Not really.
It's not going to be nearly as big as the hype, which will fade. There have been dozens and dozens of programs that have tried to make it possible for non-programmers to create applications. They have all dramatically under-delivered, and even though I respect the heck out of Google, there is no special reason to think that they have solved the intransigent problem of programming being hard.
Also, it is important to remember that Google LOVES to release products that are still immature and requiring significant polish. They also kill under-performing products without any sentimentality. This looks tyo me like a classic Google trial balloon app. Don't be surprised or heart-broken if it suddenly disappears with no fafare.
I take issue with the statement that developing a program will require "NO programming knowledge". This is bordering on marchitecture.
So-called "programming knowledge" is more than just being able to remember syntax and string together text that can be compiled into something a machine can execute. It requires problem solving skills, the ability to develop and analyze algorithms, wrangle with complexity, modularization, so on and so on. These are essential skills of a programmer more so than the ability to recall syntax.
If anything this may make simple programming tasks more approachable to people that have problems understanding/remembering precise syntax, but it will hardly eliminate the need for programming skills. I can see it being useful in an educational environment where the goal is to lower the barrier to entry for understanding programming topics without syntactical nuances getting in the way.
Actually, I would be tempted to use this topic as an interview question and weed out any candidates who claim it allows you to develop a program without any programming knowledge or otherwise level the playing field between programmers and non-programmers.
链接地址: http://www.djcxy.com/p/66840.html