Would like to develop an sdk in android for our client ,so need help regarding coding standards and practices that needs to be followed for it.
Please share your valuable comments.
As per the #user370305 comment, to create a native app you need to use Java. The best support software is Eclipse. Using Eclipse you can install the Android simulator which is very useful as you can test against all different Android firmwares.
When developing you need to take into account the many different screen sizes and resolutions, orientation etc.
Finally, if you like you can use something like phonegap to develop in HTML 5, CSS & JavaScript.
Hope this is what you were after.
Related
I am an app developer and I use Xcode to develop all my apps, but seeing in today's market a lot of people now have non apple devices. So I guess I'm wondering if there's an easy way to take my code for my apple apps and convert it to android format so I can submit to both markets?
Also does Android have their own version of "iAds"?
I agree with Ben, I was in the same boat a few months ago since the only mobile development I had done was on Xcode and I was trying to find ways to convert my existing project but instead I opted to just build a new version using Android Studio. As Ben said, even if you convert the iOS app, some of the UI and design patterns are different when comparing an iOS App to an Android App (for example iOS uses tableviews and the cells can have disclosure indicators while on Android you would need to use a list view and not use a disclosure indicator since it goes against the design patterns for Android). I would suggest taking a look at the Android documentation, specifically the recommended design patterns as that will help give you an idea of how much you would need to change to make your code work for Android.
You can use your iOS app's code as a guide to your Android app since even though the language is different, the overall structure would be pretty close.
You could share some parts of your android application with iOs using j2objc which converts java to objective-c. However anything that relies on the android framework will not work (the same would apply if you found something to convert it obj-c to java).
You could use something like Phonegap or Appcelerator. You would write code in javascript, HTML, CSS and then it would create iOS and android applications for you.
However there is some things that cannot be done using these technologies. I know that to get around this appcelerator allows you to create native modules.
You will never get an app on both platforms for 'free' there is always a cost involved whether it requires more work or you loose some features on one or both the platforms.
You need to work out how complex your application is going to be and what parts could be separated into a shared module/library. You would also need to consider how you are going to visually represent your app, it would be easier to come up with some middle ground between android and iOS than it would be to create iOS visuals on android or vice-versa.
If your making a game take a look at unity
I hope this question is specific enough. I have a client for whom I made an iOS native app and an Android native app (same app, different platform). It's a fixed pixel design (I made this work for Android somehow:) and it works on iPad, iPhone and most Android devices (with some letterboxing). Now I am asked to write the same app for the Windows store and they want me to use HTML and JavaScript. My question is, when I use HTML and JavaScript, would it be "easy" for me to use this code into some sort of hybrid solution (PhoneGap, etc)? The app doesn't need much complicated functionality but does need to support push notifications on iOS and it needs to be able to play videos, preferably HLS. Any advice on what the best hybrid solution and do hybrid solutions allow you to build for Windows 8?
I'm a cross-platform developer working on PhoneGap and Titanium Appcelerator. The correct answer is "It depends". Currently the state of cross-platform development is not very recommendable. Yes, you can write plugins for PhoneGap and it does support windows phone but you will have a ridiculously hard time getting them to communicate with each other properly. I learnt this from experience.
If it was a hacking/hobby project to further the cause then I would say go for it but for a time-bound client project like yours, I would recommend against cross-platform solutions and go native instead. Plus native always gives considerably better control, speed and ease of development. You will probably develop it faster in native than cross platform anyway. I've played around with windows SDK and it seems easy to use and well-built with good documentation and you can use C# which is similar to Java since you have already used it on android.
You can also build windows 8 desktop apps using html and javascript natively but this isn't present in windows phone 8 yet.
As I mentioned, If you don't need too many native controls, then you can go cross-platform. For your requirements, it can be done. If you have already developed android and ios apps and only need windows app now, then going native would be easier. But if you have to make all 3 then you can go cross platform if your requirements are restricted to what you mention. Here's a good quora thread that discusses the pro's and cons:
http://www.quora.com/Is-Titanium-good-for-developing-iPhone-apps
Take a look on Xamarin
Main idea - they brings real native code for all platforms.
They have instruments to compile C# code that it can be used at all platforms
For example you should create UI in XCode (for iPhone) and use ModoDevelop to create DAL/BLL, then you can re-use C# code base over all other platforms
They have cross-platform iPhone/Android/WP7/W8 samples on GitHub
Also see Q&A on Stackoverflow tagged Xamaring
We are starting to build multiple apps for multiple clients both in IOS and Android native platforms. The problem is we are going completely native which is taking too much time.
I would like to look at the linked in method (http://arstechnica.com/information-technology/2012/10/a-behind-the-scenes-look-at-linkedins-mobile-engineering/) which is a more hybrid approach using HTML and native code.
The problem is I don't think Phonegap is that good - good for prototyping but maybe not for full versions of apps as it can be a bit slow and a bit buggy.
I would like to look into doing a model where we create like 65% HTML and 35% native to that device (like linked in)
Would anyone have any suggestions for this? Would people say we need a massive development team to pull such an approach off?
I welcome thought:)
Thanks
Hello friends I am an android developer and right now i am working on sencha touch framework on android platform to develop an app which can run on multi platform e.g android tablets and ipads.
But i have question in my mind that if i create my app on android tablet emulator according to the android tablet need(means layout configuration),will the same app work on ipad? or i have to work on simulator to make it work on ipad? Please suggest me with ur views.
Thanx in advance.
Most of the things works great for both of them. But there are some issues that you need to test on both the platforms e.g. Video Player for playing local videos on SD card.
Because, this generally is not a problem for iOS, but for android, you'll need your plugins. Also, from UI perspective, you must check on both the platforms. Since same CSS may or may not match. Happy Coding!
Native (i.e. Activity/Window) code is not compatible between the two platforms. If you develop using a web framework such as Phonegap, your differences will just be layout/CSS and plugin issues such as those mentioned by #Rajkiran.
You can also use commercial platforms such as Xamarin for abstraction of the hardware platform.
See this question for more details.
This time I'm trying to make a software that can be used on iOs, Android, as standalone software, as a web app, and I want to know if there is a way to make a base code in one language and with little effort and minimum changes use it to compile it for all the platforms. I was thinking in c++, but is there a better option?
Thanks in advance
Phonegap gets you three out of four http://phonegap.com/
Seems rather obvious to point out, but you Adobe Air can do each item in your list using the same code. The language behind it is Actionscript and is object oriented. From the same code, you can output Flash for web, Android apps, iOs apps, a standalone Air application for desktops. You can develop in Air using a Mac or PC.
(If you are using a PC to create apps, for uploading to iTunes, you need a Mac, but you can rent a virtual Mac from http://www.macincloud.com, which works on a PC. You will have to use the Mac to create your certificates and upload the IPA file onto iTunes, but it works perfectly without the expense of buying a Mac.)
You could also consider going as a service on the web. Otherwise, c# is a good all way to go. There are sites that will alter different sources of code to different outputs.
jQuery mobile also good framework for multiple mobile platforms. link to website. We are using this for same purpose. So far everything good.
I'm surprised that no one has mentioned this yet, but Unity should be your go-to for cross-platform app creation. Nominally, Unity is for cross-platform game development, but its expansive libraries allow for robust general-purpose program development. Unity provides you with great tools for building UIs, and it has an active community of developers.
Using C# will get you Android, iOS and Windows Phone if those are key platforms for you. Using Mono / Xamarin you can develop apps in C# / .NET.
I'm really new with this thing of "Android development" and I was really excited when I found Appcelerator Titanium, but now I got the big surprise, it doesn't work on my computer. What other alternatives are there for Android development specially if they include HTML, JavaScript and CSS for creating such applications?
Everything you need to know is on the official site http://developer.android.com/
There is a very popular alternative for making Android and iOS apps with only HTML and JavaScript. It is called PhoneGap:
http://www.phonegap.com/
I think it is exactly what your looking for.
I hope this helps.
My first port of call would be to try and get on the trial of Google App Inventor. It's a really neat way of making Android apps. You can find out more here: http://appinventor.googlelabs.com/about/
A list of various alternative web-tech-based development frameworks is here
http://en.wikipedia.org/wiki/Multiple_phone_web_based_application_framework
having said that, I have succeeded in running Titanium on Vista and Ubuntu, so if you post the error you are getting someone might be able to help.
App Inventor is fun, although it isn't Javascript based.
You may want to try out Unify, a framework for developing web apps for major platforms (in the moment iOS, Android, webOS - more coming in the future). It is open source and has been released a few days ago. :-)
http://www.unify-project.org/
http://www.unify-training.com/
Get the SL4A app for android. It lets you run python scripts on your android.
Also, look into webview. It let's you load html.