I'm a self-taught web enthusiast at the level of integrating and editing JS and PHP scripts on responsive websites using a text-editor and my own server. I've set up and displayed some MySql tables, understand the structure of CMS. I learned some JavaScript, and see the idea behind event-driven behaviors and the step by step executions necessary in terms of general programming, broadly at least in terms of graphic interface.
Based on these skills, I have two goals:
I have an idea for a relatively simple, mobile app. At first glance, frameworks like AppInventor or App Maker seem simplistic. Does this drag and drop-based development allow for manipulating code, and making it do exactly what I want?
Could I be steps away from getting into app development or getting a programming job? Or would I need to know more about version-control, complex IDEs, and a language other than JavaScript and CSS, at least in terms of getting a real job.
Thanks a lot.
Related
Thats where I'm at...
I'm going to learn java then transition to android with the end-result being an app developed for android. I don't think it will be a difficult app to develop. A database with a front end GUI for data entry and retrieval with export and backup options. Nothing flashy or fancy, but nothing that currently exists fits what I want it for the way I want it. I would like to have it done by the end of the year working around real life.
I am completely new to Programming. More of a power user, but that is where it ends... I am a complete user.
I bought a book called Java 7 for absolute beginners by Jay Bryant (ISBN 1430236868)... Can't link to it because of anti-spam rules. Don't know if it will help.
What are some other books (I can't learn with e-books... I do better with a textbook) that the experts here would recommend?
Java is good, but you also have to learn all about the Android system.
This includes activities, providers, cursors, listviews and any number of things that are not in your Java book.
The usual mother lode for Android documentation is the, um, Android documentation!
http://developer.android.com/reference/packages.html
Short advice on how to write your app (pretty much standard advice for anything at all DB related).
Write a provider for your information that is backed by an SQLite database.
Write an activity that queries this and uses Cursor and CursorAdapter to fill a ListView.
Renate NST said:
Java is good, but you also have to learn all about the Android system.
This includes activities, providers, cursors, listviews and any number of things that are not in your Java book.
The usual mother lode for Android documentation is the, um, Android documentation!
Short advice on how to write your app (pretty much standard advice for anything at all DB related).
Write a provider for your information that is backed by an SQLite database.
Write an activity that queries this and uses Cursor and CursorAdapter to fill a ListView.
Click to expand...
Click to collapse
Thanks.
I wanted to learn the programming language basics before throwing android into it.
Hi
I recently had a problem with one of the discs in my spinal cord, as a result its quite possible I wont be able to return to my work as an industrial electrician. I am looking for other avenues of employment, I have quite abit of time on my hands to educate myself. I have choosen to look into the app market, after all, smart phones are in the hands of many people. Correct me if I am wrong but a well made app that is very popular could return a healthy living.
I want to make games, I see IAPs, premium version, and advertising as the main avenues for generating cash. Is this correct? Please I would like to start with the question, if hard work and effort put in, can money come out? or is it abit of a minority that makes and ultimatly a waste of time?
My next questions are, where should I start? I have ideas for games and I plan to start small so my knowledge and skills grow, first learning the fundamentals. I have begun to read guides but as was in my trade the advice of an experianced electrician was priceless!
So what software should I use, I plan to make for android then if my apps are popular I would transfer to ios and windows. Is there a base program that I could use which would make it easy to convert from to the said operating systems. Is there no way round it but to start from scratch?
What route would you recommend I take?
I think this is enough for now. Please treat me like a complete noob and have abit of patience :x
Is there any website that explains all the jargon associated with app developing?
Also if theres anything else you think I should know please tell me straight I can take it.
Thanks for any replies!
I really want to make this appen
Game and mobile app designing
Before starting with your game designing job you need to have a good knowledge about language that includes assembly, c, c++, java, Eiffel, Smalltalk, Ada, Lua and Python, Fro the language like assembly, c, c++ and java you just need to have a basic knowledge but the main software designing language that are used today are Lua and Python. One you will have a knowledge regarding the basic language then these language and software are easy to operate. Answering to your question about whether you can make money with this, believe me I started as a beginner for the game designing but then today I have a good command over all the language, software and can also use my knowledge for the mobile app designing for the android, windows and apple platform. This field definitely has money.
Most of your questions aren't of the "do this, it'll be the right way' sort.
If you want to create games, look at the different game development kits around - they will take a lot of burden of you, and might even help you to become multiplatform more easily.
Don't underestimate graphics, sound - they are important key elements of games; you might need other interested people with skills in this areas to develop a good package.
Learn how to programm. Learn how the hardware you designed so far 'thinks' - how the software works, how everything is connected.
I wish you the best, and you might need to rethink your questions, so that people can help you better when you ask more specific questions...
AliciaWinslet said:
Before starting with your game designing job you need to have a good knowledge about language that includes assembly, c, c++, java, Eiffel, Smalltalk, Ada, Lua and Python, Fro the language like assembly, c, c++ and java you just need to have a basic knowledge but the main software designing language that are used today are Lua and Python. One you will have a knowledge regarding the basic language then these language and software are easy to operate. Answering to your question about whether you can make money with this, believe me I started as a beginner for the game designing but then today I have a good command over all the language, software and can also use my knowledge for the mobile app designing for the android, windows and apple platform. This field definitely has money.
Click to expand...
Click to collapse
There are two paths you can take. The scripting (using scripting engines) like quoted post or you can chose the native route. Android is natively written in Java with the java assembly; therefor, java will give you the best performance for an android application. Many openGL engines allow the use of c++ which is the next most common mobile development style with the same performace. I have not heard much on using python for mobile applications, but i know cocos2d was originally a python engine so i know its possible. You could make a million dollar app without knowing any assembly. Assembly was used to make the most out of registers and CPUs back in the days of NES and what have you. With the new tegra processors assembly is very unnecessary, but it never hurts to know it.
My personal recommendation, for the standpoint of a game designer and game engine designer, is to learn java first (it is a simple language) or c++ (more complex but still easier then assembly). If you chose to go the scripting route I would try to find a engine that allows that, there are many. As a side note most commercial games are written in c++ or C (or they are a scripting language that compiles to c++); however in androids case everything is compiled to java assembly.
Hope this helps. There is no wrong path.
I'm wondering, based on experience witch of these people would recommend for mobile app development. (Please mention which of these you actually have experience using.)
I'm an "old school" developer and am proficient in PHP/PERL, HTML, CSS and Javascript. I don't have time to learn a new language like C# and I refuse to use Microsoft's tolls (like .NET, Visual Studio, etc.) but I would spend the time maybe to pickup up RUBY (or maybe Java) if enough benefit was there in the associated mobile app development tool.
I want as close to native as possible with 90%+ cross-platform solution, meaning, 5-10% of the source code may differ due to differences in platform. I will only be developing for Android and IOS (sorry Windows) but may develop for Windows Down the road. Some apps I may develop may be enterprise class that need to get remote data from SQL Server, etc. I have done research and narrowed down my selection and am looking for further insight from those that have actually used these tools. Things that are also important to me include:
- Low cost (I can't afford to pay $100+ a month in fees)
- Good/Large Developer Community
- Good Support from Maker (good roadmap with improvements, bug fixes frequent, etc.)
PhoneGap - This seems like the most popular but it sounds like the "quickest" route for most web developers that are familiar with HTML and Javascript/CSS but to me it sounds like I might want something that is closer to native being that my primary core knowledge has always been as a coder first, and a web developer/designer second.
Appcellerator Titanium - This seems like the other most popular tool that claims to compile so the app uses the devices native controls (via Titanium API) instead of essentially an HTML page masquarading as an app (like PhoneGap) My gut says this one suits my situation better than Phonegap. Why do people use PhoneGap instead of this, because it's easier for non-programmers?
RhoMobile Rhodes - I am wondering how this compares to the two above assuming I learn RUBY on Rails.
Telerik Icenium (now called AppBuilder) - This one I have found the least discussion about.
I just ran across Codename One too which sounded intriguing as would require me to learn Java.
It seems most everyone (that isn't doing native) is using PhoneGap or Titanium and the second two are lesser known so I'm having a hard time finding people that has at least some brief experience using all four or five of these.
Any insight is greatly appreciated.
jazee said:
I'm wondering, based on experience witch of these people would recommend for mobile app development. (Please mention which of these you actually have experience using.)
I'm an "old school" developer and am proficient in PHP/PERL, HTML, CSS and Javascript. I don't have time to learn a new language like C# and I refuse to use Microsoft's tolls (like .NET, Visual Studio, etc.) but I would spend the time maybe to pickup up RUBY (or maybe Java) if enough benefit was there in the associated mobile app development tool.
I want as close to native as possible with 90%+ cross-platform solution, meaning, 5-10% of the source code may differ due to differences in platform. I will only be developing for Android and IOS (sorry Windows) but may develop for Windows Down the road. Some apps I may develop may be enterprise class that need to get remote data from SQL Server, etc. I have done research and narrowed down my selection and am looking for further insight from those that have actually used these tools. Things that are also important to me include:
- Low cost (I can't afford to pay $100+ a month in fees)
- Good/Large Developer Community
- Good Support from Maker (good roadmap with improvements, bug fixes frequent, etc.)
PhoneGap - This seems like the most popular but it sounds like the "quickest" route for most web developers that are familiar with HTML and Javascript/CSS but to me it sounds like I might want something that is closer to native being that my primary core knowledge has always been as a coder first, and a web developer/designer second.
Appcellerator Titanium - This seems like the other most popular tool that claims to compile so the app uses the devices native controls (via Titanium API) instead of essentially an HTML page masquarading as an app (like PhoneGap) My gut says this one suits my situation better than Phonegap. Why do people use PhoneGap instead of this, because it's easier for non-programmers?
RhoMobile Rhodes - I am wondering how this compares to the two above assuming I learn RUBY on Rails.
Telerik Icenium (now called AppBuilder) - This one I have found the least discussion about.
I just ran across Codename One too which sounded intriguing as would require me to learn Java.
It seems most everyone (that isn't doing native) is using Cordova/PhoneGap or Titanium and the second two are lesser known so I'm having a hard time finding people that has at least some brief experience using all four or five of these.
Any insight is greatly appreciated.
Click to expand...
Click to collapse
Both Phonegap and Appcelerator compile into a native package containing a mix of native and javascript and with both you develop your code using Javascript. As you've pointed out, one of the key differences is that Appcelerator will use the native device OS widgets rather than web widgets. In simple terms the layout is abstracted into an XML format which is then rendered into native equivalents during compilation for each of the platforms.
Depending on your application, native widgets may be important, or not. For example if you're developing a game then it could actually be advantages not to use the native widgets and have an essentially identical look and feel across all device platforms and screen aspect ratios.
The other difference is that Phonegap is free, (though their optional build service is not). Appcelerator is priced on a monthly subscription, but you also get some cloud features included in that.
Other popular cross platform tools to check out: Xamarin (native widgets, C# development, non-Free), ReactJS (native widgets, Javascript development, free-open source)
You can also try using Ionic and Cordova frameworks, They support cross-platform development and in my opinion have good documentation support
Rotary Pipes
I recently wrote a simple game that is about a twisted structure of pipes. These seek to get back in shape by rotating them accordingly, such they they form a connected network again.
My main reason for posting this in here is the crossplatform development background. This being said, I converted the Android app to a desktop application for Windows within an hour as described below.
Download
Windows
As already mentioned, the crossplatform development background is my main reason for posting this here. The app for Android has been developed in a way, that makes it easy to convert it to other platforms. The graphical user interface has for this reason been developed with HTML, CSS and JavaScript and can therefore simply be rendered in any common webview. Regarding the core mechanics, basic C / C++ has been used in combination with some preprocessor quirks in order to easily compile it for arbitrary targets. The remaining parts like persistent preference containers have eventually been implemented by utilizing a custom domain specific language in Xtext, which again makes crossplatform development feasible by utilizing code generation.
Feedback
I highly appreciate any feedback, so please do not hesitate with any advices or suggestions.
Hey,
I'm a developer and I want to start with app development. No games, just productivity stuff. Without experience, I would tend to native apps, because you can use all api's, designs etc. I think cross platform frameworks is just a hype like java for web. HTML and CSS are the best choice for web and nobody is talking about java in web-dev. Now, I have a feeling that you're trying to use this technology in Apps because html5 and css3 a fancy. But this is just my opinion and maybe I'm wrong. As I mentioned, I do not have any experience in app-dev. Therefore, I want to ask you, because you have the experience.
Are cross platform frameworks a great choice to develop apps for iOS, Android and Windows 10 (Mobile)? Is it really time saving and do I have the same or similar possibilities? Or is it better to maintain three different platforms? Maybe the time effort isn't so much higher. I don't know. How high is it? Should I start with a cross platform framework and switch later to native apps, or is it better to start with native apps?
I hope you can share your experience with me. It is also great if you link something that reflects your opinion.
Thanks
neon
"nobody is talking about java in web-dev"
Not true Many pages and server side app are created in java. JEE, JSF etc. Problem is hosting for page. Hosting for PHP is cheaper and more popular. That is why PHP is more popular than Java in web-dev.
Anyway, in mobile platform, in my opion, better way is native apps. Cross platform frameworks are great, but only for some of the types application. Most applications can be made faster and look prettier if they are native. Many things is hard when you use crossplatform, and sometimes development takes longer. Much depends on type of application and requirements. Of course it's only my opinion. Many people think differently.
It depends. First of all it is important to know which API or librarys you want to use. If you have some intensive tasks or calculations you should go with native apps because they are often much faster then hybrid-apps written in JavaScript. If you don't have much intensive tasks and you have a completely new idea and want to make money with it you shoud go with hybrid-apps because it is a huge plus to have an App for Android AND iOS.
Thanks for you responses.
@Asmok78
You are right. PHP is more popular because it is cheaper.
Asmok78 wrote that most applications can be made faster and it depends an the application. spcialx wrote something equal. So, as an example, all my ideas are based on a client server architecture where users can sync there local data with a server to work collaborativ. As an example it could be an app for all three platform (iOS, Android and Windows 10(Mobile)). A user can manage a tasklist and share tasks with other users, or you have a project and one user can assign tasks to other users.
I guess it will be faster to get a first working app with a crossplatform framework. But I also guess, that in the long run it will be better to dev native apps. So why not start directly with native apps?
ne0n said:
[...]
I guess it will be faster to get a first working app with a crossplatform framework. But I also guess, that in the long run it will be better to dev native apps. So why not start directly with native apps?
Click to expand...
Click to collapse
Your assumption is completely right.
I'm working on a hybrid app right now. While it can be tempting, as soon as you get out of common features and patterns you can run into all sorts of problems and I found some quite hard to debug and solve. In the end I've busted all my deadlines. Performance are just OK for most uses, but still not comparable to native. All in all it depends on what you are trying to do, cross-platform apps might be ok for some use cases, but native apps are well worth the extra effort.
I think you should go native for apps. But not for games.
Sent from Tapatalk. Try LucidPod - lightweight podcast player.
Android NDK is there for performance reasons. If you plan to create something serious, then dedicated development cycles for each platform may be the obvious choice.
with web app, you can create app with nice and easy ui, can communicate with system api via plugin but sometime you need custom there control, and you need experience with native app , if it basic, you can do with only web app.
hybrid app is slower than native, only for small app.
Asmok78 said:
"nobody is talking about java in web-dev"
Not true Many pages and server side app are created in java. JEE, JSF etc. Problem is hosting for page. Hosting for PHP is cheaper and more popular. That is why PHP is more popular than Java in web-dev.
Anyway, in mobile platform, in my opion, better way is native apps. Cross platform frameworks are great, but only for some of the types application. Most applications can be made faster and look prettier if they are native. Many things is hard when you use crossplatform, and sometimes development takes longer. Much depends on type of application and requirements. Of course it's only my opinion. Many people think differently.
Click to expand...
Click to collapse
Yep, I'm a java web guy. Tomcat, Struts 2 and JSP for me (though I'm slowly switching to Spring instead of Struts). The sheer power of Java, the stuff you can do, vs PHP (disclaimer: I coded PHP for 10 years professionally and now hate it, especially with the advent of Wordpress and Drupal) is absolutely staggering. Add to that a tonne of amazing libraries one can just plug straight in and you get a really useful bit of kit. Sorry, off-topic.
So yeah native is best. I work on a timesheeting/expenses solution for big mobile telcos in the UK and we looked at some cross-platform solutions at first, with Xamarin getting a decent run out but in the end we concluded it just wouldn't do the job, and went native. The issue really was that you'd end up with an app that wasn't quite right on either platform, and had to really write some nasty hacky stuff to make anything that took advantage of the advantages or preferred style of a particular platform. It just wasn't worth the effort in the end.
With Unity3d you can build for like 20 platforms.
Cross-Platform vs Native | Development Tools
1. Native apps are usually developed to work on a single mobile platform by using the native programming language mainly used for user interactions.
2. Cross platform requires different platforms for development are used for PhoneGap, Titanium, and Xamarin by using HTML and JavaScript mainly used for iOS, windows, and Android.
"no one is discussing java in web-dev"
Not genuine Many pages and server side application are made in java. JEE, JSF and so on. Issue is facilitating for page. Facilitating for PHP is less expensive and more mainstream. That is the reason PHP is more well known than Java in web-dev.
Anyway, in portable stage, in my opion, better way is local applications. Cross stage systems are incredible, yet just for a portion of the sorts application. Most applications can be made quicker and look prettier on the off chance that they are local. Numerous things is hard when you utilize crossplatform, and infrequently improvement takes longer. Much relies on upon kind of utilization and necessities. Obviously it's lone my sentiment. Numerous individuals think in an unexpected way.
whats the end goal/how big is your buget?
for example: business apps, they're not that heavy on interactions/animations - you may be better off with cross platform as it will generally cost less to create it that way
if heavy on interactions/animations: native would be a better choice and may cost more because it may be developed for multiple platforms, which in turn would make it more expensive.
Hi,
If you ask me I will go with the cross platform if I'm building the app from scratch as it's easier to make any changes and most importantly saves a lot of time.