|
<pre>There are two kinds of platforms that can be used to build an app, Hybrid or Cross platforms and Native platforms. Hybrid and Native technologies have their own pros and cons although it is still debatable which framework is better. Businesses fail to take an apt decision when it comes to Mobile App Development as it is difficult to determine which technology is better or suits their needs.
If the budget and time are constraints for you Hybrid Apps may be a better choice. Hybrid Apps are multi-platform apps developed using Cross Compatible technology. Developing an app using Hybrid technology requires lesser time as there is no need to develop separate codes for different Operating Systems. This also helps in reducing the overall development cost as the same HTML code components can be reused on different operating systems. These apps are easy to integrate with devices or web view.
However, they fail to provide a functioning as smooth as the apps built using Native technology. It is hard cater a rich user experience with a single code base for various platforms. They lack some of the features available exclusively to Native Apps and have a higher chance of rejection at app stores. On the other hand, if you are looking for an app that provides a smooth functioning and great user experience then, it is better to use Native technology to build your app.
Native App is a phone or tablet application developed for a specific Operating System. These apps are encoded in a specific programming language. They perform faster and more efficiently than Hybrid Apps and have access to various mobile features such as GPS and contacts. Native technology is used to build various video game apps since it provides a great User Interface and Design.
These great Native features come with a cost. Native apps are very complex as they have a different codebase for various platforms. A lot of time and efforts are required to maintain these apps. Also, the cost to develop these apps is higher since the developer has to write separate codes for different OS. More developers who specialize in different platforms are required to build the app. Which technology to use for mobile app development depends on various factors such as viability, financial feasibility, time required to build the app and the features that users expect to be in the app. The below points will help you understand the same.
Advantages of Hybrid Apps:
It is Cost and Time Effective:
As you do not have to create separate code bases for Android and iOS you save on a lot of time and money. Also, with the help and proficiency of JavaScript and HTML it becomes easier for the developers to build great mobile apps at a lesser cost.
Best solution for BYOD Programs:
If you are planning to implement a BYOD policy in your company then, Hybrid App is the ideal solution for you. As it works across various platforms and devices your employees will be able to access it from different devices and Operating Systems.
Lower Requirements:
The developers do not need to learn specific languages for the development of Hybrid Apps. A web developer with the skills of HTML 5, JavaScript and CSS can develop a Hybrid App.
Offline Availability:
Hybrid Apps provide offline support with local storage. You can have access to the data in your app even when there is no internet connectivity and this enhances the overall user experience.
Disadvantages of Hybrid Apps:
User Interface (UI) :
The UI of a Hybrid App is not up to the mark. Hybrid apps most of the times do not follow the interface guidelines set by Apple and Google and thus fail to give the users a Native feel.
Performance:
You may encounter lags while using a Hybrid App. It fails to provide a seamless user experience as some parts of the app may function smoothly with iOS but lag on Android.
Animation and graphics:
The Hybrid Apps has poor video and audio processing. The apps that are graphic and animation heavy do not work smoothly.
Debugging:
Debugging can be a major issue in Hybrid apps because of the extra layer present between the source code and the mobile app platform. Since developers do not have a deep knowledge of the targeted platform, figuring out the issue can be difficult.
This was about the Hybrid Apps, now let us try to understand the Native Apps.
Advantages of Native Apps:
Great performance:
Native Apps are perfect for high-performance applications and games. As they are developed for a specific platform, they are faster and offer a better performance than Hybrid Apps.
Better UX:
As the Native Apps follow the platform specific UI standards, they offer a smooth functioning and a better user experience. The users can smoothly navigate through the app thus providing a seamless user experience.
Device Integration:
Native Apps make full use of the device’s functionality and hardware. They can access functions like GPS, push notifications, address book, SMS messaging etc. The users get to enjoy more features as compared to the Hybrid Apps.
Availability in App Store:
Native Apps are easily accessible in the App Store. As they are easily accessible they catch users’ attention and thus monetization goals can be achieved.
Disadvantages of Native Apps:
High Development Cost:
Native Apps are more expensive than their Hybrid counterparts. Native Apps are complicated and multiple code bases are required to build a Native App, this demands for greater number of Android and iOS developers and increases the overall expenditure.
Time Consuming:
An API interface is required to build a Native app and building it is a time consuming process. Also, different codes are required for Android and iOS platforms and it takes a lot of time.
App approval and authorization:
The process of getting a Native app approved and authorized by the App store is long and there is no guarantee that the app will be approved. The App updates also need to be authorized by the App store.
Complex Maintenance:
The Native Apps have a complex framework hence, it is difficult to troubleshoot or update the app. Several Android and iOS developers are required to maintain the native apps across different platforms.
Conclusion:
Hybrid apps are basically a combination of native technology, HTML5, CSS and Java Script. Xamarin and Phone Gap are a part of the cross platform framework.
Native apps are made for a specific Operating System. Android and iOS developers use tools such as Android Studio and X-code to develop Native Apps. Native Apps use Swift or Objective-C to write iOS apps, Java to write Android apps and C# to write Windows Apps.</pre>
|
|
|
|
|
Hi,
1) I want to integrate Apple Pay on my website (so it's a Apple Pay - Web Integration), using the Braintree payment provider, JS as a client side language and Java as a server side language.
I'm having difficulties creating a proper sandbox environment for my Apple Pay implementation Testing.
Followed the steps from the Apple docs but it seems they are not accurate :
-says to create a Merchant Id, one for sandbox and one for production (as far as I can see, at the moment of creating those 2, there's no way of telling that you want to use one for the development environment and the other for the production)
- after that, says to create a Certificate using the Merchant ID created before; if I sign in to my Apple Developer Account, I can see the 'Development' and the 'Production' sections, but when I try to create a sandbox/development certificate, Apple Pay is not available for it, only in the production section (see below images).
Is there a way to create a Sandbox / Development Apple Pay certificate, or are there any other ways to properly test the Apple Pay integration ?
2) I tried creating a sandbox user tester account from iTunes, but when I tried to login on Itunes on my Ipad which I'm using for testing, I get the following error: 'Itunes account creation not allowed. This Apple ID cannot be used with the Itunes Store at this time. Please try again later.' (I already verified my Apple ID and followed all the steps to activate the account, but without any success)
3) As I was trying to create Sandbox Apple Pay certificates I mistakenly created 2 for the production environment. Could I revoke them without any problems and create another ones ?
If you integrated Apple Pay on the WEB, I would highly appreciate any help, since I'm having such difficulty in simply setting up my testing environment.
Images - links:
https://i.stack.imgur.com/7aGer.png
https://i.stack.imgur.com/WEYPR.png
Thanks Smile |
|
|
|
|
|
Please do not post multiple copies of the same question. Especially as it is not a programming issue.
|
|
|
|
|
This is normal with windows10 for a universal application since it is the OS that manages the permission of the user OK fine !!! But my app is automatically compatible windows 8.x at submission store and it fails since with 8.x it is the programmer who manages the authorization with the code:
Var accessStatus = await Geolocator.RequestAccessAsync (); Request access
Switch (accessStatus)
In Visual Studio 2015 no definition in geolocator for requestaccessasync (), (only "equal" and "reference equal") I've been searching for a week.how can i
|
|
|
|
|
That method was added in Windows 10. It's not available in Windows 8.1 - instead, you'll need to request the location, and catch the exception thrown if the location services are turned off.
This StackOverflow answer[^] has the required code.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I have problem to create running leds with Raspberry PI 3 Windows IOT, but random led blink does work.
The code for both are almost the same, only diffrent runnings leds is controlled by variable count and random led
is generated with random generator.
The running led code is below this text. I will get only the first led to light, and rest of leds stays dark. Can someone see what's wrong with this code?
But the random blink led works, which comes after this running leds code and both codes almost identically, but still the running leds code does not work.
Running leds code
private void Timer_Tick(object sender, object e)
{
int ledCheck = 1, ledCheck2 = 1;
int ledValue = 0, ledValue2 = 0;
int checkValue = 0;
if (ledCheck2 == 1)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
ledCheck2 = 0;
}
ledValue2 = ledValue2 + 1;
TextBlock1.Text = ledValue2.ToString();
if (ledValue2 == 1)
{
pinValue1 = GpioPinValue.High;
}
if (ledValue2 == 2)
{
pinValue2 = GpioPinValue.High;
}
if (ledValue == 3)
{
pinValue3 = GpioPinValue.High;
}
if (ledValue2 == 4)
{
pinValue4 = GpioPinValue.High;
}
if (ledValue2 == 5)
{
pinValue5 = GpioPinValue.High;
}
if (ledValue2 == 6)
{
pinValue6 = GpioPinValue.High;
}
if (ledValue2 == 7)
{
pinValue7 = GpioPinValue.High;
}
if (pinValue1 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.High;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
}
if (pinValue2 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.High;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
}
if (pinValue3 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.High;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
}
if (pinValue4 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.High;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
}
if (pinValue5 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.High;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
}
if (pinValue6 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.High;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
}
if (pinValue7 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.High;
pin7.Write(pinValue7);
}
TextBlock1.Text = "TEST " + ledValue2.ToString();
}
Random led blink
private void Timer_Tick(object sender, object e)
{
int ledCheck = 1, ledCheck2 = 1;
int ledValue = 0, ledValue2 = 0;
int checkValue = 0;
if (ledCheck == 1)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
ledCheck = 0;
}
Random rnd = new Random();
ledValue = rnd.Next(1, 8);
if (ledValue != checkValue)
{
checkValue = ledValue;
if (ledValue == 1)
{
pinValue1 = GpioPinValue.High;
}
if (ledValue == 2)
{
pinValue1 = GpioPinValue.High;
}
if (ledValue == 3)
{
pinValue3 = GpioPinValue.High;
}
if (ledValue == 4)
{
pinValue4 = GpioPinValue.High;
}
if (ledValue == 5)
{
pinValue5 = GpioPinValue.High;
}
if (ledValue == 6)
{
pinValue6 = GpioPinValue.High;
}
if (ledValue == 7)
{
pinValue7 = GpioPinValue.High;
}
if (pinValue1 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.High;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
}
if (pinValue2 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.High;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
}
if (pinValue3 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.High;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
}
if (pinValue4 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.High;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
}
if (pinValue5 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.High;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
}
if (pinValue6 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.High;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.Low;
pin7.Write(pinValue7);
}
if (pinValue7 == GpioPinValue.High)
{
pinValue1 = GpioPinValue.Low;
pin.Write(pinValue1);
pinValue2 = GpioPinValue.Low;
pin2.Write(pinValue2);
pinValue3 = GpioPinValue.Low;
pin3.Write(pinValue3);
pinValue4 = GpioPinValue.Low;
pin4.Write(pinValue4);
pinValue5 = GpioPinValue.Low;
pin5.Write(pinValue5);
pinValue6 = GpioPinValue.Low;
pin6.Write(pinValue6);
pinValue7 = GpioPinValue.High;
pin7.Write(pinValue7);
}
TextBlock1.Text = "NOT Same value!";
}
else
{
TextBlock1.Text = "Same value!";
}
}
|
|
|
|
|
I am trying to create a cross platform app which live stream's radio from different radio stations and people can choose which radio to listen to.
How should i get started?
|
|
|
|
|
|
Message Removed
modified 20-Apr-17 5:36am.
|
|
|
|
|
try some api from radio station databas.e
|
|
|
|
|
This may give you some ideas.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
<pre lang="C#">I have problem with this visual c# uwp code when I am trying to save to text file with raspberry pi 3 with Windows 10 IoT.
var path = @"urls.txt";
var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
var file = await folder.GetFileAsync(path);
var lines = await Windows.Storage.FileIO.ReadLinesAsync(file);
(lines[0]) = textBoxRadio.Text;
(lines[1]) = textBoxRadio2.Text;
await Windows.Storage.FileIO.WriteLinesAsync(file, lines);
Following error message appears
Unhandled exception at 0x75DC0D6F (twinapi.appcore.dll) in blinky.exe: 0xC000027B: An application-internal exception has occurred
(parameters: 0x038CF1D0, 0x00000001). occurred
and the application halted.
Can someone help me?
|
|
|
|
|
How to redirect to a default page when connected to a server from a browser?
|
|
|
|
|
I don't see anything urgent, nor do I see a proper question.
|
|
|
|
|
im doing my project!! so i wanted to know how to redirect to a particular page through the browser when connected to a server.
|
|
|
|
|
No, I checked with my boss and he said it's not urgent at all.
This isn't any more of a question than your vague posting in QA. There isn't any need to cross post all over the place. And, "I'm doing my project" means nothing to us and isn't an answer to question that anyone has asked you so far.
|
|
|
|
|
how will your boss decide if its urgent or not?? its urgent for me.
|
|
|
|
|
We are all volunteers here, so saying something is urgent means nothing to us. Please learn to post proper questions, and stick to one forum only.
|
|
|
|
|
Member 12800411 wrote: its urgent for me
We are unpaid volunteers and no one cares how urgent you think it is, because it's not urgent to anyone but you.
|
|
|
|
|
NotPolitcallyCorrect wrote: I checked with my boss I'm calling you out on this. I don't think you really did check. I say you are fibbing. Tsk tsk.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Not sure how this is related to mobile development, but...
See here.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
Member 12800411 wrote: a default page In IIS switch to Features View and open Default Document. Then click add and put in your default document.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Whether bluetooth audio can support 5.1 channel audio?
|
|
|
|
|
You should post that question to Google.
|
|
|
|
|
I tried here (not only here) to get a direct answer.
|
|
|
|