Monetizing Hybrid Apps [closed] - mobile

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'm looking to launch a mobile app. Since the app is fairly simple/straightforward, without the need for a ton of performance/graphics/etc, a Hybrid app seems to make a lot of sense- especially considering my limited budget. However, a big part of the business model relies on in-app purchases. Here, it seems a lot more likely to convert those sales through payment systems such as ones' iTunes account. Does anyone know if a Hybrid app, written in HTML-5 but wrapped in a native shell, can still leverage internal, immediate payment features such as the iTunes store. If not, what are the options for Hybrid apps to streamline in-app purchases?
Thanks in advance for the help with this. Very limited info on this subject out there.

I'm not surprised that there are no replies to this question. I've been researching hybrid mobile app monetization with limited success. I'm personally more concerned with incorporating mobile ad networks (AdMob) and socialization networks (Socialize, Facebook, Twitter) in hybrid mobile apps based on HTML5, CSS3 and JavaScript. I'm focusing on Android to start. PhoneGap has an AdMob plugin that works. Eclipse also has a PhoneGap plugin by MDS that makes it easy to get started.
As you get further away from native Android and closer to the cross platform build environments it becomes more difficult or impossible to use various required SDKs for monetization and socialization unless there is an existing plugin or you (and other developers) are willing to write a plugin.
Most of the cross platform build systems (PhoneGap Build, Icenium, Monaca, Titanium ...) and the MEAPs (OpenMEAP, Convertigo, WorkLight, Feed Henry, Antenna, Appcelerator...) currently have no support. Apparently, monetization and socialization are low priorities in the race of the cross development platforms.
With respect to your question about in-app purchases for cross platform mobile development, there are two exceptions that I am aware of, the Intel XDK and the AppMobi Cloud Services SDK. The Intel XDK, largely based on it's acquisition of AppMobi and it's HTML5M App Center, has implemented this through 1Touch.
http://html5dev-software.intel.com/
http://www.appmobi.com/
http://www.appmobi.com/amdocs/lib/Article-1TouchInventory.pdf?r=4960
They also have references that advertising will be coming soon as well.
You can also develop hybrid Intel HTML5 apps without using the Intel XDK by using the AppHub Cloud Services.
http://www.html5dev-software.intel.com/amdocs/lib/Article-DevelopingOutsideXDK.pdf
Good luck.

There are various ad networks that have respective Cordova plug-ins that you can use should you choose to go hybrid via Cordova e.g. AdMob (https://github.com/rajpara11/phonegap-plugins/tree/master/Android/AdMobPlugin), RevMob (http://sdk.revmob.com/cordova) etc
If In-App purchase is your thing, then there are plug-ins for this as well: https://github.com/phonegap/phonegap-plugins/tree/master/iOS/InAppPurchaseManager.
As for platform of choice, I would definitely recommend Icenium, which was just officially released and has really matured. Their major version scheduled one month from now would enable users to take advantage of custom Cordova plug-ins.

The trick is to call the advertisements in the native layer instead of the WebView, essentially running Ads outside/ontop of the HTML5 portion. This typically requires use of an IDE to implement.

Related

Front end technologies for SAP S/4HANA [closed]

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 3 years ago.
Improve this question
My company are currently in the process of upgrading their existing ECC6 system to the latest S/4HANA version, and as a result, we'll be looking at developing bespoke Fiori apps once the upgrade is completed.
I read through a number of Fiori development resources online and it appears that a myriad of front-end frameworks can be used; we are not limited to SAPUI5.
Notably, there are several projects which utilise popular front-end development frameworks such as React - which are open sourced and come from SAP directly.
https://github.com/SAP/fundamental-react
https://github.com/SAP/ui5-webcomponents
Having also been to a number of SAP user group meetups, I've had first hand experience at creating OData services which can then be exposed and consumed by the front end. The OData is essentially 'front-end-agnostic' at this point.
I have extensive experience of developing front-end applications with React and Angular 2+ which makes me a little biased but, when we have our system upgrade, will it be best practice to develop using SAPUI5? Are we limited to this? Or is it perfectly fine to use React? Are there any examples of companies/ developers using React with SAP? Does anyone have any experience with this? I'd love some feedback so we can move forward with our strategy.
Please also note that we will be using an on-premise version, with no access to the Web IDE or the Cloud Platform.
To me, it's a no brainer - I would suggest to use React as it's a matured and well tested solution which performs very well and can be scaled with ease, with the addition of easy native support via React-Native should we wish to implement bespoke mobile solutions. Not only that, hiring new developers would be fairly easy and more cost effective as React is more commonly used than SAPUI5 in the web development scene.
Our customers will be the business. To them, the applications will look exactly the same if developed using styled React components vs SAPUI5. The only difference (personally) is that it will be a lot easier to develop via React. Are there any implications of using one over the other?
I know that there are various tools that have been developed in the past for frameworks such as React, which make development very easy. I just don't know of anything that compares for SAPUI5.
Modern frameworks like React also support and follow the latest ECMAScript standards & features - which benefits developers, allowing them to write concise and performant code. State management can be handled with ease, with the aid of Redux and the 'out-of-the-box' React Hooks.
You don`t want to use anything else then UI5 for a SAP system.
Launchpad support, incl. cross app navigation
SAP support (you pay for this already)
Message handling
I believe there is no great frontend oData implementation, except ui5 ones.
Out of the box accessibility features and default translations for a lot of areas(FI, PM etc.)
A large set of enterprise approved ui elements
v2->v4 adapter, you can write now apps for a v2 oData service using the v4 and change once the backend is ready for v4
--
Further more, modern development looks most probably like this:
Frontend development is done while using ui5-tooling
You can use ECMAScript version as needed or include any other tooling
Cloud (nodejs stack) Backend is most probably moving towards CAP
S/4 HANA (ABAP stack) has now a new development model called RAP
S/4 HANA comes with SAP HANA XSA what is basically a cloud foundry environment. Hence, you can deploy almost anything.
All this parts are surprisingly modern and follow the "Zero Lock-In" approach; which means, you could change any of them and still use the rest... but why the struggle. All of this works perfectly together for enterprise use cases.
I can add some extra things:
SAP oData is extended format then odata.org, so it is hard to use it with other frameworks. There is no documentation about it (I can't find it).
Probably your Hana license will be bundled with S/4. So you cannot expose oData from XSA without extra license (Generally DB license limited only own SAP applications such as NW).
Also you can need extra license for consuming SAP Gateway oData service with other frameworks.
Generally SAP license models are very complicated and sales man generally says "Everything included to this license" without unwritten.

Is it better to develop a social mobile app like Twitter using Hybrid or Native development? [closed]

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 5 years ago.
Improve this question
If you are going to develop a social mobile app like Twitter, is it better for a social mobile app to be a hybrid or native app?
I wish there would be a simple answer.
Why Native?
Pros:
High Scalability
High Performance
Better native control over device
Cons:
High development time
UI elements are not so cool
Learning curve/Knowledge of Native C/Java (Or C# -Xamarin) required
Specific development tool/resources required
While Hybrid apps also can be an alternative then why Hybrid?
Pros:
Less development time
Better UI controls
Can have generic UI on all different device OS
Simple
Knowledge of HTML5/CSS/Jquery/AngularJs is required though
Cons:
Not great control over device specific tasks(eg. using advance camera or gallery actions requires plug-in)
Performance is slightly poor (however nowadays everyone has got decent phones with better internet)
You can browse and check for yourself what is most suitable to you:
http://appvswebsite.com/
http://www.multidots.com/difference-native-vs-hybrid-android-app-development-2/
https://www.mobiloud.com/blog/native-web-or-hybrid-apps/
For a social networking application like twitter as you've mentioned I suppose you'd want a wide variety of features in that app.
Building native apps for iOS and Android will give the freedom of adding platform specific functionalities which will in turn enhance user experience.
Some features that are used by default on most of the apps on iOS are not present in android by default. For example, swipe to delete is pretty common and default in iOS while in android people prefer long press to delete.
You won't have this freedom for user capabilities and a better user experience with hybrid apps.
On the other hand hybrid apps will be faster to develop as compared to native apps.
Another point to take into consideration would be that one would require two developers for native apps for iOS and Android, whereas a single hybrid developer for a multi-platform app.
Hybrid and cross platform apps can save you some time and money at start, but they can't match the performance, usability and sleekness of native apps, so ultimately native is the way, so if you have resources, go native.

Security Testing for mobile applications

i'm new to the mobility domain. What should be the best approach to test the mobile applications security vulnerabilities. Please share the information and if anybody knows any tools to be use to achieve the same.
I'm looking for android and iOS platform.
The only best way to test web applications or mobile applications is to follow OWASP guidelines. If you know little bit about the web app security, then surely you will aware of the OWASP.
Similar to web applications, OWASP provide the top 10 risks for mobile also. Please refer OWASP site for more details.
You can run static code analysis on the app.
This will give a detailed report on the possible security issues with your app.
There are some tools available which will help you to do so.
Infact I have designed a web application which runs this analysis on .apk or .ipa file which a user uploads and displays the result of the scan in HTML format.
Feel free to explore https://thesecurityscan.com/

Is there a way to develop real NATIVE mobile cross platform apps without wrapping things? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I try to find a way to develop real native mobile apps, cross-platform. The amount of tools I found is huge, very huge.
All of the tools I have tried 'said' that the end result will be native, but in fact it isn't true. It is an executable with a webbrowser in it and some extra native layer/framwork to device specific features.
The reason I want a real native app is:
Speed and compact
Avoid browser issues
Market acceptance
Avoid easy/'script kiddie" reverse engineering
The products I have tried:
Appcelerator (does not work correctly on my system)
PhoneGap (does not create REAL native apps)
Embarcadero radPHP EX2 (uses PhoneGap)
Embarcadero radStudio EX2 (cannot create mobile/android apps?)
Adobe Flash Builder (Works very well but relies on Air, so apps are huge and no
native devices such as vibration (posible, but must write it
yourself)
Flash Develop (but same as Adobe Flash Builder)
..... and some others ;-) like moSync......
Currently I have downloaded "RhoStudio" but has some doubts about it because in the introduction video they talk about the things that I don't want.
Target directions are in the first place Android, iOS and maybe in the future Windows Phone.
Note: I don't have a Mac so I cannot compile it on a Mac.
Is what I want impossible or is there such product around that can do this?
EDIT:
See my answer, the answer is NO!
After 2 years asking this question I can say: NO, it is NOT possible, it's a myth.
All products I have tried use some kind of wrapping or use a second language as a layer to the call the native stuff. Although the libraries are native, the main program is not. The latest answer of Cosku with smartface.io is a good example, they claim it is native but it is NOT.
Why is it so difficult? The problem is the programming language (differences in language that makes it complex) that is required for a platform. It is too complex to translate a second language into the platform's main language and it's specific libraries, you can only achieve this by wrapping things with native binaries. Second obstacle is the needed compiler that must be able to run cross-platform.
But why rely on a second language or third-party development tool to build apps when the output is mostly the same is bad, the problem is perfectly illustrated in this image:
http://xkcd.com/927/
The image is about standards, but that's what happen, creating a new standard for a standard. For example, when using PhoneGap, you have to learn the basics of the PhoneGap API. You rely on a 'new standard' calling PhoneGap. The problem with this is that you completely rely on PhoneGap support and it existence. It can introduce a second weakness in the lifecycle of an app.
IMO, if you want to wrap things to make it cross-platform it is not a smart idea to rely on third-party products and libraries. Better is to write a wrapper yourself, like I did and skip the bloat. A real benefit of this all is that you wrote the wrapper code yourself and you understand underlying structures. Besides it is easier to extend or change and you can skip the things you don't need.
Today I create and design the UI of an app in the longest existing and stable 'language' HTML with a javascript interface. The app can also run in a browser too and does not break when there is a specific function missing, like vibrate for example. You can not get the same results with phonegap, try it! You can design the app with responsive techniques at ease like a normal website (try this in Android for example ;-)). Technically, it can run everywhere, on any platform in a browser or webview but don't use any special Mobile javascript libraries! You don't need these special libraries, really, use the 'normal' library versions instead.
I have wrote a compiler/obfuscator for it to 'pack' the UI-source into just one file that will be loaded by the native shell. This is to protect the source, so it is not easy to view or modify the source.
The only thing I have to do, to support the app platform is write a native wrapper for it. If a platform dies for some reason (for example Windows Mobile in the past), I only have to write a new wrapper for it. This is easier to do than write the whole program again from scratch. Besides, when there is a new platform it can also run in the platforms browser too.
If your app not rely on specific hardware (like a game) or can run without special hardware requirements, this is the way to go to extend the life-cycle of your app. Use HTML5 and javascript to design the GUI and use a native shell to use specific OS features.
Is it slow? I have to say no. At least don't use any bulky and bloated special designed mobile javascript library stuff and don't use the click event on touchscreen devices, use touchstart instead. Also the HTML engines will/are improved these days and there is better support for HTML5 features that enables you to write powerful HTML5 webapps without the need to implement this in a native language.
IMO, this the way to go (for me) and my journey to find the best way develop mobile apps cross-platform and to extend the life-cycle. Hopefully, it can help you too to decide what is the best to do.
For cross-platform native iOS, Android, Mac, and Windows apps, check out Xamarin. Code in C#, compile to native. For iOS, you can leverage the XCode tools for app layout, and Xamarin Studio integrates very cleanly with it.
And for the sake of completeness, PhoneGap has a worthy (yes, WebView based) competitor in TRIGGER.IO. While it's approach is similar to PhoneGap/Cordova, it improves the API for accessing native functionality, simplifies push notifications, and performs much faster cloud builds.
I am not associated with either of these products in any way... I just like them both.
Have you tried www.codenameone.com? It's open source, java based, only need eclipse or netbeans to develop.
Firstly
Appcelerator (does not work correctly on my system)
Is there a certain issue your facing ? are getting java errors or something, might not have been setup correctly.
Short answer is no, you have to have some level of abstraction in order to achieve this, java and objective-c are completely different languages, as well as Android and IOS SDK's having different methods, procedures, styles, design's etc. There is no way to have something work on both without there being a middle layer to convert or render.
Appcelerator will be the closet thing to what your looking for as its not a webview wrapper like the others, true it does interpret javascript, but because its not wrapped in a webview you avoid the browser issues.
Speed and compact comes more down how you code the app more than what its coded on, true Titanium apps will be bigger in size because of the library but that doesn't make it bad as such, the benefits of getting 2 apps far out weighs the extra few megabytes I would think.
I'm pretty sure all of these tools have market acceptance as they wouldn't be successful without it, again for the likes of apples requirements its down to the way you design it, not the tool in the background.
If you want to use IOS you will need a mac, if you want to publish in the app store alone you need xcode and the built project to use the application loader, I'm not aware of any tool (even the webview wrappers) that don't require you to have the IOS SDK as it can't run in the simulator, package the app or run any of the code without it.
If you want to make apps you have 2 choices, learn each platform or use one of these tools, if there was some magic tool that did everything I guarantee it would be the most popular thing on the planet and you would have heard about it / found it.
This is one reason why "the cloud" is so popular. Instead of writing your app several times over, you write all of the functionality on a server. The actual "apps" are then simply your user interface to the functionality, which can be really simple depending on your needs. If it is that simple, then you could write the apps separately for each platform, but they would all use the same "cloud" backend.
If I am not mistaken, this is representative of what most apps by companies who have a cloud architecture do, and is also why many require a data connection.
I don't think that it is possible to write once and run everywhere without some kind of wrapper or layer, this is due to the fact that each platform has separate APIs and even programming languages. You would be hard pressed to write one set of source code that runs natively on both Apple and Android devices, for example. This is not to say that it isn't technically possible, desktop operating systems have had such cross-compiling portability for years with C/C++, and Java only made that much easier. Of course, the engineers of Mobile operating systems don't seem to share a vision of interoperable APIs.
To conclude, I would recommend A) writing the app twice (awful I know, but it will provide the reliablity of native execution on both devices, and can be done with minimal pain) or B) breaking down and using one of the "script-kiddie" frameworks. These actually may not be that bad if your app is simple enough, and it may not be that reverse-engineerable at all. If anyone has any suggestions as to the best "near-native" cross platform framework, that would be useful.
Well, there are several things to consider, if you want native look and feel there are frameworks like Sencha(www.sencha.com) and Kendo UI(http://www.kendoui.com/) that simulate it on JavaScript side. I found them both good looking on Android and iPhone but no support for Windows Phone yet.
If you are looking for real native widgets combined with HTML you can look into MoSync's Native UI(http://www.mosync.com/documentation/manualpages/jsnativeui-library), which support windows phone Metro UI too, or Titanium(http://docs.appcelerator.com/titanium/2.1/index.html).
Anyway one other thing is that you can use packagers like Phonegap or MoSync or AppMobi(which I think uses something similar to PhoneGap build) to wrap your app and put it on App markets. from these list PhoneGap especially is not designed to provide you with any specific UI functionality although I have seen some attempts to add tab bar plugins to Phonegap.

What's the best framework for mobile phone apps in C And what's the best simulator for various mobile phones out there? [closed]

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 3 years ago.
Improve this question
I'm just getting started with this field,
so any information is appreciated!
You say in a comment that you want to support as many platforms as possible, this isn't really going to happen if C is a requirement.
A majority of platforms have C++ or Java APIs. Qt is a very portable C++ API you may want to look at. You really need to identify target platforms, porting is inevitable if you want to support many.
First of all, you aren't going to find a simulator that can simulate multiple phone operating systems. Windows mobile has its own simulator, Android has its own simulator, and the iPhone SDK has its own simulator.
You also aren't going to be able to find a framework in C which lets you target multiple mobile phone platforms. It just doesn't exist.
Unfortunately when it comes to mobile platforms writing portable code that can run on multiple systems is not easy. You can write your core model and business logic as shared code, but the UI and other phone-specific stuff will have to be rewritten for each platform you want to target.
People like Adobe are trying to create tools that let you deploy flash-based applications to multiple phone platforms, but the iPhone SDK terms do not allow this kind of cross-platform application and I'm guessing iPhone OS would be something you want to target.
I suspect that the best C framework for portable mobile phone apps is OpenKODE.
That's not to say it's very good for general app programming, or very portable. It's primarily intended for games and media (hence, no windowing toolkit) on reasonably high-end devices (hence OpenGLES is the only graphics API, although for 2D stuff that can just give you a surface) and doesn't have a lot of traction at the moment (hence is a lot more portable in theory than in practice).
But it is based on C.
Apple makes it difficult for any portable framework to truly span all significant mobile devices, unless you'd count an in-browser javascript framework. Even if the technology was there for compiled apps, dynamically linking to a framework on iPhone is out of the question, and it's conceivable that they'd forbid even a static-linked framework that they didn't like (as happened with the Flash-iPhone compiler).
That's not to say that everything was portable and lovely before Apple came along - of course it wasn't - but AFAIK Steve Jobs is the one to come out and say that total portability is bad, he's working to prevent it, and that each mobile platform should have its own framework that app-writers address directly. Previously there was a more ad hoc kind of fragmentation, that I think was more down to luck than judgement.

Resources