Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I've registered for a mobile app course, and am considering dropping it because we are using the Google App Inventor to create apps.
I've taken a look at a few videos, and it seems all too basic, geared towards non-programmers. I've had some experience with the Android SDK and feel like learning the App Inventor is degrading, a just-for-fun way of making only simple apps. Is this the case? Are you more limited in App Inventor than programming in Eclipse w/Java? The graphical way of 'programming' makes it seem that way. Can anyone with experience comment on it?
thank you.
Although graphical programming never gives as much control as coding does, that doesn't necessarily make it a bad thing. It really depends on how much control you need, and what you need to do with it. If you're doing a simple local app with a nice UI, it'll probably be easier to use the App Inventor. Even in the SDK, you will work with graphical tools to design UI. Sure you can do straight XML, but its always nice to have a WYSIWYG to design these things.
Having said that, personally, I would try to learn the SDK just because it gives you a fuller range of tools. It'll also teach you more of the nitty gritty of developing Android apps. Plus, if you want to be a real Android app developer in the future, it'll give you more of a headstart and knowledge base.
With knowledge I have on appinventor I feel same. Another thing to note is google discarding app inventor starting January 2012. If you have some knowledge I would suggest using Android sdk and eclipse.
This is true. I would definitely suggest jumping right into the framework with the SDK instead of using App Inventor. It is very simplistic and template based with not much flexibility of implementation. Going straight to Android is better IMO, you get more flexibility over the look/feel as well the programmatic elements of your applications as well.
App Inventor was designed for people who do not know conventional programming languages. It sounds as though you do. If you want to learn App Inventor, you can easily do so on your own. It would be a waste of your time to take a class on it.
To answer the other part of your question, yes, what you can do in App Inventor is far more limited than what you can do with the full Android Java SDK.
Since App Inventor is about to be released open source, you can combine the two, should you wish to, by using the Java SDK to extend App Inventor.
The new MIT Center for Mobile Learning has information on running your own App Inventor server or using theirs. As other respondents have indicated, Google is about to pull the plug on their App Inventor service.
Graphical programming can be handy for some simple jobs like creating a few activities to roam around in; that would be perfectly acceptable. However all the trouble you would have to go through to dynamically create items or create a game would surpass the difficulties of learning your way around Java and the Android SDK. Which one you choose completely depends on the type of project you want to make. App Inventor could either hinder you or speed up your development drastically. Another thing to keep in mind is that Google is ending support on Google Labs and App Inventor, which could discourage some people.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I'm trying to create an app for Andriod and IOS, but i have no clue how to do the front-end and have a hard time deciding to use HTML5, CSS & JS or Objective objective C/Java.
I'ts going to be use network options, checkout-features, joined checkout-features. Maps api, facebook api.
I've got expierence in HTML5, CSS3, SASS, PHP and JS.
I've tried looking online, but i've still got no clue how to do the front-end for app.
To answer your question, you will use framework like phonegrap, Titanium Appcelarator and I guess you can use NativeScript, Ionic, Framework7 as well. For Titanium, you have to use different environment for different app (OSX for iOS products and OsX, Windows or Linux distros to run android app) and have it's own syntax and everything. Language is one of Javascript versions (I am guessing, I have used it once 2 years ago). And Phonegap and other Frameworks use a varient of JS, so basically you will have to use HTML and CSS to work with UI. However, you will face some hardware constraint like unable to access hardware buttons (from my experience with one project some months ago) and memory management and other functionalities will mostly depend on your JS coding skill.
[My opinion] I believe, the best way to develop an app is to develop in its native language/framework. I believe it. Unless you're bound to use Html, JS to build app (you can!), don't use those. Java is there to help you with Android Development, since I am an developer, I can tell you that starting might seem a bit difficult than iOS development. But in the end, communities like stackOverFlow and thousands of thousands blogs will help you. Same case for iOS app development. You can find lots of different tutorials. New Bostons tutorial helped with android however, it's contents are bit old (android 2.3) and mostly everything has changed since. However, you can check his iOS app development with Swift. Learning a new language is mostly like learning how to ride bicycle. If you can know how to ride, keep learning the advance parts after basic mechanics, you can become a pro one day. However, for that you have to pass a whole cartoon of hurdles (unknown bugs, sleepless nights to name a few) like the falls you did when learning how to ride.
I would really suggest you to focus on building a real stack.
Happy coding!
For android:
I would recommend using Android Studio.
It is a powerful tool for creating an android app - the front end can be implemented by dragging and dropping items or by using xml.
It is easy to use and there a lot of tutorials online.
I'm an iOS developer on the native side. If you want to do native development, I would recommend Stanford course CS193P by Paul Hegarty. You can find this course on iTunes U, Coursera and other MOOC platforms. For advanced features, follow a GitHub repo called "awesome-ios" where you'll learn some production level stuff for iOS apps. If you want to do hybrid apps, have a look at PhoneGap, Ionic, React.
In either case, you would be able to implement features you've described in your question.
Tools needed for Native Development: a machine which runs macOS and Xcode(free download from app store).
I started developing native apps years ago. The last 2 years I've been using only hybrid possibilities. Designing and developing an app in HTML / CSS / JS is much easier and more efficiently.
I recommend taking a look at Phonegap, Ionic, Framework7. These are open source and there are already some templates.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
Hi friends i want to know about how to make apps for different OS.For eg: ANDROID,BLACKBERRY,iPhone,Windows Phone and Nokia phone.Which programming language is required for there different OS.Can any same programming language can be use for all this different OS.
To make apps (mobile apps, I think you mean) for different OS's(I think you mean the different OS's on each phone),(assumption: that you're coding it from scratch) you learn a programming language first, then proceed to learn how to make apps for a particular OS. Typically, you purchase a book (look online for good recommendations) and start from there. You can also find tons of online resource about coding basics, and mobile app development.
I am sure you can use most popular languages; Java, Python, C++/C#/C, etc...
Generally, people make either Android Apps, or iOS apps. They code in Java for Android (and it's derivatives), and Objective-C in iOS but Swift is quite new and I heard it has many cool features, and is the better choice to use for iOS in comparison to Objective-C.
Yes, you can use the same language across the platforms you listed in your question, but generally stick with the common languages most people use, as the difficulty increases when you choose more elegant languages, like Prolog or Haskell etc. :)
#SiddhantSingh you should go for java scripting(i.e.,phone gap)
Android and iOS are completely different. You are asking how to begin creating apps for all phones, iOS is specifically referring to apple products. For apple, go to their website and download the development kit, Xcode (It is in objective-c and/or their own language called Swift). For android, it is primarily in java, and some starter development kits are offered for android as well! To make it really simple these are usually used to develop- Xcode for iOS, you can get it from apple; and some of the most common for Android are gradle and app inventor, which you can get from gradle.com or MIT's website respectively.
If you have a good idea which is support to receive good reviews from all platform App users. I suggest you consider about Web App and Hybrid Framework Development. I hope you get a little knowledge about those two things.
The common point between Web App and Hybrid Framework is saving your time, which means a couple of mobile OS can run your App with one-time development. Multi-OS development and different Program languages are absolutely unnecessary for you. I think this new way of development can bring you the concentration on App's essential thing.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
I'm a web developer that is new to mobile app development and need to start a project asap. Despite researching for the last few weeks, (I have listed what I've done so far at the bottom of this post) I still have not decided between Phonegap or native (for iOS/Android only). Googling “Phonegap vs native” and the like seems to give results with a fairly even split, but there seems no doubt that native will give a faster / better end result, but at the expense of having to learn so many new things in a short timeframe.
One common thing cited about Phonegap is that is runs slowly – but I have also read that since V3 it now runs much faster – is this the case?
The app I need to build is really pretty much like a mobile static site (but the customer insists it must be an app) – just text and a few images and some PDFs. There will be new content added like news, so I was thinking rather than release a new app version for each new item, the app will fetch new data from a web API (JSON or XML) and finally a requirement for push notifications.
There will be no need to access the camera, GPS or any other hardware (bar the file system to cache images/PDFs).
I've looked at similar apps (the competition) and they all appear to make extensive use of web views, which might suggest they were made with Phonegap (or would it?).
So my question is, given the simple type of app I need to do, would there be a big benefit in going native for this, or would Phonegap (latest version) work just as well. Or on the other hand, since it is a simple app, would it be easy to do (i.e. from zero to both app stores in 10 weeks) in native?
I do have a mac with ADT/Xcode installed so that is not a factor in the choice.
My research so far.
Followed the Android getting started to here http://developer.android.com/training/basics/actionbar/styling.html but got lost with the tabs
Then got a book, SAMS teach yourself android in 24 hours, on about hour 6
Followed iOS to here https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/ThirdTutorial.html#//apple_ref/doc/uid/TP40011343-CH10-SW1
Several Phonegap tutorials such as http://coenraets.org/blog/phonegap-tutorial/ but all seemed to have issues getting them to work as is.
Clearly native has some benefits over the web frameworks like phonegap. But the thing is what you want & need? If you want a quick solution then phonegap is best for cross platform. You can do it in easy way for all common platforms. But if you want your app to be fast & efficient, of course native has it's benefits.
Given your requirements, phonegap could be better to serve your purpose. You can continue with same code, and exact same design for all platforms. Not only for ios and android, but also with windows phone, amazon fireos etc.
One of the thing is that there are thousands of app building in phonegap these days, so it can be told that it meets with the expectation to a certain extent. Phonegap is efficient enough to fill these apps' terms. With proper use of frameworks like sencha, jquery mobile, kendo UI and many more phonegap can be highly efficient.
I don't think it's possible for anyone to tell you that if the app could be completed in 10 weeks in native apps or not. I would go for phonegap to continue with same design and same code. It would be easy to make change in the app if needed in future. But decision have to be yours based on the issues and requirements :)
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I want to develop a simple App for iOS, Android and windows phone.
I just wondered that a simple HTML5, JS and CSS combination can work in all of these platforms.
I want to know which one will be efficient?
No problem with time and coding. But if i can achieve everything with HTML5-JS itself, i will chose Hybrid development. I want to know the major difference between the Native and Hybrid Development with example(I know that the main difference is HTML5-JS supports cross platform).
Note : I am not making a game app.
In my experience, these cross-platform solutions like PhoneGap and others never really hold up to expectations unless the app you're developing is super simple. Even basic things like transitional animations and small UI tweaks will be an uphill battle using these tools.
Native development might take longer (if you're building an app for more than 1 platform), but the advantage is that you get full control over what you're making. Performance-wise, native development is still, and will probably always be, far ahead from cross-platform development, simply because it doesn't have the overhead of being nested within a browser, or any other run-time interpretive platform.
Also, from my experience, the myth of being able to write code once and have it work on all platforms instantly is a sort'v holy grail. Many people claim to have achieved it, but you will always find yourself writing platform specific code (in the form of "if explorer, if safari, if chrome" etc).
My advice, write a solid architecture for your app. Build the app once in one platform, work out all the glitches in the design, then copy the design to other platforms. It'll take you a little bit longer, but the strength of your app, and the flexibility to add / change features and other small things in your app will be worth it.
As an example, take Facebook. Their previous app (if you remember) was a cross-platform app. It was slow, non-responsive, would crash all the time and was practically unusable. About a year or so ago, after countless complaints, they released an update with their native app, and suddenly, all those problems disappeared (well, at least most).
The main difference is about UI component which is the main thing in an app. You can't achieve the native look and feel like native dialogs, notifications and native animations in a Hybrid app.
I want to know which one will be efficient?
Efficiency is not an issue, Hybrid app will be a single app that will support multiple platforms which is cost and time effective.
PROS of Hybrid app
Cost effective, A single app will be developed thereby saving cost
paid to developer for making app in different platform.
Time effective, Time will be saved for making different app for
different platforms.
Will Update very fast, Unlike you update from google playstore the
app will be updated on the server end only and you do not need to
re-install it again.
Smaller in size. As the resources used for support of multiple
screens will be handled by HTML .
CONS of Hybrid app
No look and feel like native app.
App will not even show static behaviour, if server is down.
If you are willing to compromise with the UI , Then you should go with Hybrid app.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I've just started diving into the Android world. I have a lot of experience programming apps in Python, so I've searching for a good combination "Android + Python", and I think I've found it: Kivy.
I need to make applications that are able to download and upload content from the internet, maybe some connection with the map component included in Android and more stuff to make a nice Android app.
But I really don't want to waste my time on something that maybe won't work. So, does anyone has some experience developing Android apps using Kivy? Is it really useful, simple, possible? Or is there a better option you have in mind?
I've been using and contributing to kivy for some time, and using it for a big application intended for market. Although still not as complete as native developpment (not sure if using the map Android API is possible at all, but there are alternatives), it works very well, with good performance. The kv language for rapid prototyping is really cool.
And as bonus points, your apps work on windows/linux/mac/ios too… (we still have to try getting on apple store, but technically it works). edit: to this day at least one kivy app has been accepted on apple market, look for "deflectouch" if you are interrested.
As opposed to SL4A, you get a real apk to distribute, with kivy as well as a very nice and slick GUI api, fitted for multitouch apps.
I believe KivyMaps is pretty similar to what you are trying to do.
If you avoid non-Android platform specific code then your application, should run on Android without any problems.
I suggest looking at Python for Android also, it's a sister project of Kivy aiming to help you create your own Python distribution including the modules you want, and create an apk including python, libs, and your application. Specifically look at its native API wrappers for Android. The project is new so only a few native API's are supported but it might give you an idea on as to how to go about creating a wrapper for Android location service API's if you need that.
As for the Google maps external library, I agree with tshirtman. I'm not sure how it could be used but as the KiviMaps link above highlights there are alternative approaches available.
I have very little experience with it. But I do know that
SL4A (Scripting Layer For Android) does support writing Android applications with Python as well. Might be worth looking into that a bit before you make your decision of what to use.
Kivy is Cross-platform Python Framework for NUI Development.
It is Good for some prototyping android app. You can use Kivy Launcher for more fast test.
You can use python library so fast development for feature.
You can use pyjnius for accessing java classes for java based feature.
I suggest you to reading Kivy Interactive Applications in Python book for newbie.
But in some deeper depth, you should know how to use basic widget carefully.
Because some confusing concept is there. For canvas, it's different concept in html5. Kivy language's class rule and class is some confusing for newbie.
And for android app, there is some difficult to use not basic supported library like Beautiful Soup(famous html and xml parser library).