I am trying to use automation frameworks similar to Selenium to test native apps (both android and IOS apps). Does anyone have a list of frameworks that is suitable for the tasks. Java based frameworks are preferred but others are welcome too. I want to go over the merits of each framework and make a final determination
There are lots of options to test mobile applications, not all are cross platform though. You say this is important to you so I would either say MonkeyTalk (http://www.gorillalogic.com/testing-tools/monkeytalk) calabash (http://blog.lesspainful.com/) or the new Calabash Driver projects (A form of calabash made to look and feel more like selenium from the ebay guys just recently announced) https://github.com/calabash-driver/calabash-driver and https://github.com/freynaud/ios-driver.
Appium is a Selenium-compatible mobile automation tool which lets you write tests in Java and other languages using the Selenium client libraries.
My team has been using Frank for the past 14 months and it's been working out really well for us. It describes itself as: "Selenium for native iOS apps". It's a fairly active project, and has a small community that's very helpful.
You can get started here: Testing With Frank
For iOS: Unlike the ruby based Frank, KIF is a 100% obj-c solution, which makes for easier integration with your iOS code.
Take a look here for an example of how I used KIF for my iOS project and the reason why I chose it over Frank.
Related
I'm brand new to Mobile application automation. So, I did a research for selecting a good automation tool for test Android applications.
I need a tool with following requirements
Functional testing
UI testing for different devices, different Android versions
Can write scripts using Java
According to my reading Appium is the best option for functional testing. Can someone give a comment about the best testing tool to cover both functional and UI testing.
Thanks in advance. :)
Appium is a cross-platform tool and works for hybrid as well as native apps where as MonkeyTalk doesn't support hybrid apps.
What is the procedure to develop ReactJS with Bootstrap hybrid app.
I am new to the mobile development, i have good experience in Web Applications development with jQuery, Bootstrap etc.I have started learning ReactJS
Now,
i like to know how to develop Hybrid app with ReactJS. like
- what are the tools to develop (i am using IntelliJ IDE)
- Need to learn additional technologies ?
- how to test ?
- how to integrate with Android or iOS ? etc.
my suggestions:
Check out cordova for the basic framework to build hybrid apps.
Running Ract Applications inside cordova works pretty well actually.
The IDE shouldnt matter too much. You will end up writing most of your stuff in javascript. Therefore an IDE that can support different ECMAScript versions is favorable.
In rare cases u will end up building plugins for cordova which is the only time you will have contact with other languages.
If you are looking for a test framework its also a question of taste.
Since React comes with its own Test Library which can basicly be run out of every Framework you want. I like using Jasmine a lot so.
This answer should give you enough starting points to look for.
For deeper insights ... Google is your friend ^^
hope it helps
I'm a web developer in ASP.NET, C# and looking to start some mobile development. I'm aware Apple uses Objective C and Android uses Java, is there a way to create an app for both platforms or do I need to buy a Mac and some books on objective c and Java?
Thanks
You can use http://phonegap.com/ or http://www.appcelerator.com/platform to write cross-platform apps.
Rumour has it that Delphi XE3 (Due to come out soon) can be compiled onto Apple, Android, Windows 8 etc.etc. so if you can hold out a little longer that should be good!
For now, you are better using a mac (with XCode) to program for IOS or OSX as Apple is very particular and you need certificates for devices, projects, development and distribution etc.etc.etc.
Android i believe you have a bit more play with, but at the moment it is 2 seperate languages. Check out the DEV centres:
https://developer.apple.com
developer.android.com/
There are ways to create apps for both platforms, especially if you know web technologies : PhoneGap and others.
But like specified in the doc, you will most probably need an actual mac if you want to build to iOS
Although there are workarounds
You could use PhoneGap or Appcelerator. Haven't tried them myself, though. But with those tools you could build for both Android and iOS.
Since you are a .Net, C# developer, i recommend you to use Mono for Android, it comes with cost but will save you time and easy to deploy
http://xamarin.com/monoforandroid
The best way to be truly cross-platform is to develop for the web. I would include this in your consideration of development strategies, in addition to PhoneGap and Titanium, as Peter mentioned. You do not have as much access to core OS features, but that is improving all the time (see http://mobilehtml5.org/). Whether or not this is feasible depends on what you are trying to accomplish.
So I read this article on Mobile Orchard and, as I'm planning on having my first steps in Android development, it got me thinking: is it possible to develop for Android in Lua only? I Googled the topic but found no definitive answer. I know Java is the "base style" for Android but for the coding newbie which I am (elementary Python, basic C++), Lua seems somehow clearer and more friendly. Then here goes my question: can one develop an Android app using Lua only? If so, could you please show me some directions to move from here?
I've been developing a mobile application in Lua to control robots remotely from iOS and Android phones. The app is in pure Lua and runs on top of Mosync platform using MobileLua. There is still some plumbing required, but it's not too complex.
I also have a debugger and a Lua IDE (ZeroBraneStudio) that support debugging of Lua scripts running remotely (including MobileLua scripts running on Android or iOS devices). I provide a demo app you can use as a client to run simple scripts and check remote debugging in action.
[Update] If you are interested in more game oriented options, there are several available: (1) already mentioned Corona SDK, (2) Moai, and (3) Gideros Mobile. There is also Marmalade Quick and Cocos2d-x Lua bindings (for example, quick-cocos2d-x). All these toolkits/frameworks allow to develop in Lua.
Here is a detailed comparison of Moai vs. Corona.
I know this is an older question, but just to correct some misinformation (in the comments) for people who come later, Corona SDK (as of spring 2013) has a Starter Edition which is free -- no splash screen or anything. The main difference between it and the "Pro" version is you can't do in-app purchases in the Starter Edition. But you can use it to create apps for sale, etc. No expiration date on it or anything.
And in answer to the original question, learning Java may allow you to write Android apps, but if you then also want to target iOS you don't have any great options. By choosing something that's cross-platform from the beginning you can target Android or iOS or both. Lua (in any of the flavors already mentioned) is a great base language to learn for mobile development.
The question is what kind of app do you want to build and what skills do you have. If you are already familiar with JavaScript there is Phonegap/Cordova. If you are building games there are a number of frameworks for 2D and 3D which use Lua. Some are free, others have licensing fees but are worth it if it provides a solution to your problem. All have pros and cons. For example I'm not sure if I would want to build an RSS reader in a game framework. Java is just another language, I would recommend just learning Java and the Android framework to start and knowing what is there before adding another application specific framework layer on top.
Corona SDK allows you to write iOS and Android apps in Lua. Its very easy to learn, but its not free.
Edit:
I saw you posted that you found Corona just after I sent my post...
You can try http://scormpool.com/luastudio
Develop and run code on your device including iOS, Android, Mac, Win.
Exporter can help you to make standalone app on listed above platforms.
This may not be useful to the OP, however for other people interested in using lua to write their apps, I'd share my thoughts. So to answer the question:
Yes, you can use only lua to write apps for android using LuaJava from the kepler project (though I don't believe its being maintained anymore). You can create and manipulate Java objects seemlessly, and interact with the Android APIs through lua. You can even create UI elements dynamically using just lua. However, a small amount of java bootstrap code is needed to start the lua VM from your app. The AndroLua project is a great place to start for Android. The creator has done a lot of work making lua work with Android and packaging it all into an app. From experience I can say it works great! However, I would in no way recommend this to a beginner, as it requires a lot of knowledge about java and lua to make things work, meaning more work not less.
For AndroLua, just clone the repo and use that as a base for your own app. Last time I used it, I just imported it into android-studio, and after fixing a few problems with my own setup, had it compiling and running on my device.
If only pure Lua then the answer is no.. unless you want to use a lot of libraries
If you want to make little Android app/games then use a game engine, learning is a step by step process, don't dive straight into the hard part.
I'm searching for a framework to create apps for both Android and iOS from one codebase. I'm aware of Appcelarator and PhoneGap etc. However I need a different kind of product. I'm not sure if it exists. I can't find it here or on google.
We are a team of Android and iOS developers and aren't afraid to build natively. What I want is a tool to help me jumpstart development. Preferably a tool where I can create the basic UI and Models and generate native code to use as basis for further development.
Does such a tool exist?
Have you seen Mono??
iOS
Note: Make sure you following the instructions on the MonoTouch website re installation
Development tools (Free): XCode + Interface Builder (http://developer.apple.com/devcenter/ios)
MonoTouch ($399USD): http://monotouch.net/
Register for developer program/app store ($99USD): Register
Android
Note: Make sure you following the instructions on the MonoDroid website re installation
Development tools (Free): Java JDK, Android SDK
MonoDroid (public beta): monodroid-download
Register for developer program/market ($25USD): Register
Don’t forget for the iOS component you’re going to need to go buy a Mac to use.
Have a look at LiveCode 5 from RunRev.
http://www.runrev.com/
Have you checked out DAPP? I like it quite a bit.
http://dapp.kerofrog.com.au/
Yes you can Generate the code for both Android/ios and many more languages using the Tool Swagger
Please Check the tool,this tool gives the basic UI and Models and generate native code to just like your Requirement.
But You have to right the Swaggger Specification file(it will be on Json or Yaml) for that. And after Writing Swagger Specification file You can downlaod the code for Android/ios and other language as well. So kindly follow the document of swagger. You will get clear idea about that.
Here i list down usefull links of swagger :
https://swagger.io/
https://github.com/swagger-api/swagger-codegen
https://editor.swagger.io/
https://swagger.io/docs/
There's a tool called Genexus for Smart Devices, which is a code generator that supports iOS, Android, Blackberry and Windows 8.
However, you need to learn the tool, and I've found it useful only for simple CRUD apps. It does enable extremely fast development of said apps, it's a good fit for simple LOB apps. I've tried it and deployed to Android (haven't tested on iOS or other platforms).
http://www.genexus.com/SD/mobile-application-development?en
If you're experienced with iOS and Android, you'll probably get frustrated though (and I'm sure the code it generates isn't pretty).
I've used the generator for desktop and web .NET and Java, and works reasonably well (with those caveats), so I'm sure the Smart Devices generator will continue evolving.
Take a look at Flutter, from their docs:
Flutter transforms the app development process. Build, test, and deploy beautiful mobile, web, desktop, and embedded apps from a single codebase.