|
Thanks for the reply, Can you please help me with Mp3MediaStreamSource class.
Abdul Rahaman Hamidy
Database Developer
Kabul, Afghanistan
|
|
|
|
|
Unfortunately, the MediaStreamSource class is not well documented. Fortunately, Microsoft has
made available a set of helper classes, which you can obtain at https://github.com/loarabia/ManagedMediaHelpers. so in the example that I made before is good way to understand it also.
Thanks
|
|
|
|
|
Google maps API key in the sample code
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map-canvas { height: 100% }
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8
};
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
|
|
|
|
|
Hi,
Android (C#) :
I am populating my listview from Sqlite (sometime also from DataTable)
1. when the data is huge its very slow ?
2. how to have filter for this with high speed ?(same as contact list )
Thanks in advanced !
For filtering i have seen this code :
_adapter.Filter.InvokeFilter(_inputSearch.Text);
but just work for one column :
_adapter = new ArrayAdapter<string>(this, Resource.Layout.list_item, Resource.Id.product_name, products);
No USE At ALL !!!!
my code :
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.HesabList);
progress = ProgressDialog.Show(this, "", "Loading ...");
progress.SetProgressStyle(ProgressDialogStyle.Spinner);
progress.Indeterminate = true;
new Thread(new ThreadStart(delegate
{
_btnUpdate = FindViewById<Button>(Resource.Id.UpdateHesabList);
_btnUpdate.Click += new EventHandler(_btnUpdate_Click);
gvHesab = FindViewById<ListView>(Resource.Id.gvHesabList);
gvHesab.ItemClick += new EventHandler<AdapterView.ItemClickEventArgs>(gvHesab_ItemClick);
isTarafHesab = Intent.GetBooleanExtra("IsTarafHesab", false);
txtSearchHesabList = (EditText)FindViewById(Resource.Id.txtSearchHesabList);
txtSearchHesabList.TextChanged += new EventHandler<Android.Text.TextChangedEventArgs>(txtSearchHesabList_TextChanged);
txtSearchHesabList.Gravity = GravityFlags.Right;
Looper.Prepare();
File dbtest = new File(clsBase.SqliteDBPath);
if (!dbtest.Exists() )
{
if (clsBase.HasInternetConnection(this))
createDbSqlite();
else
{
MessageBoxAndroid.Show(this, "Connect to Internet First !");
Finish();
}
}
else
{
fillListView();
}
RunOnUiThread(() => progress.Dismiss());
})).Start();
}
private void fillGridView()
{
try
{
SQLiteDatabase db = OpenOrCreateDatabase("test.db", FileCreationMode.WorldReadable, null);
ICursor cursors = db.RawQuery("select Moen, Hesab, opab, Coab,(select count(*) from tbl_Hest b where a._id >= b._id) as _id,Id from tbl_Hest a", null);
String[] from = Resources.GetStringArray(Resource.Array.gvHesabHeader);
int[] to = { Resource.Id.txt_HesabListGrid_Heen,
Resource.Id.txt_HesabListGrid_Heol ,Resource.Id.txt_HesabListGrid_Heb,
Resource.Id.txt_HesabListGrid_Coab,Resource.Id.txt_HesabListGrid_Row,Resource.Id.txt_HesabListGrid_Id};
RunOnUiThread(() =>
{
SimpleCursorAdapter _HesabGridAdapter = new HesabListGridview(this, Resource.Layout.HesabListGrid, cursors, from, to);
gvHesab.Adapter = _HesabGridAdapter;
});
setListViewHeightBasedOnChildren(gvHesab);
gvHesab.TextFilterEnabled = true;
EditText txtSearchHesabList = (EditText)FindViewById(Resource.Id.txtSearchHesabList);
txtSearchHesabList.TextChanged += new EventHandler<Android.Text.TextChangedEventArgs>
(txtSearchHesabList_TextChanged);
}
catch (Exception ex)
{
}
}
class HesabListGridview : SimpleCursorAdapter
{
ICursor c;
Context context;
Activity activity;
int idS;
public HesabListGridview(Context context, int layout, ICursor c, string[] from, int[] to)
: base(context, layout, c, from, to)
{
this.c = c;
this.context = context;
this.activity = (Activity)context;
}
bool isFirst = true;
public static int dtRowCount = 0;
int CountRepeated = 0;
public override Filter Filter
{
get
{
return base.Filter;
}
}
public override IFilterQueryProvider FilterQueryProvider
{
get
{
return base.FilterQueryProvider;
}
set
{
base.FilterQueryProvider = value;
}
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
if (convertView == null)
convertView = View.Inflate(context, Resource.Layout.HesabListGrid, null);
View row = convertView;
try
{
c.MoveToPosition(position);
TextView txtHesabGrid_Coni = (TextView)convertView.FindViewById(Resource.Id.txt_HesabListGrid_Hesoen);
TextView txtHesabGrid_Bde = (TextView)convertView.FindViewById(Resource.Id.txt_HesabListGrid_Hesol);
TextView txtHesabGrid_Nab = (TextView)convertView.FindViewById(Resource.Id.txt_HesabListGrid_Heab);
TextView txtHesabGrid_Cosab = (TextView)convertView.FindViewById(Resource.Id.txt_HesabListGrid_Coab);
TextView txtHesabGrid_Row = (TextView)convertView.FindViewById(Resource.Id.txt_HesabListGrid_Row);
TextView txtHesabGrid_Id = (TextView)convertView.FindViewById(Resource.Id.txt_HesabListGrid_Id);
txtHesabGrid_Coni.SetText(c.GetString(c.GetColumnIndex("Hen")), TextView.BufferType.Normal);
txtHesabGrid_Bde.SetText(c.GetString(c.GetColumnIndex("Hl")), TextView.BufferType.Normal);
txtHesabGrid_Nab.SetText(c.GetString(c.GetColumnIndex("Heb")), TextView.BufferType.Normal);
txtHesabGrid_Cosab.SetText(c.GetString(c.GetColumnIndex("Coab")), TextView.BufferType.Normal);
txtHesabGrid_Row.SetText(c.GetInt(c.GetColumnIndex("_id")).ToString(), TextView.BufferType.Normal);
txtHesabGrid_Id.SetText(c.GetString(c.GetColumnIndex("Id")), TextView.BufferType.Normal);
txtHesabGrid_Id.Visibility = ViewStates.Gone;
if (position % 2 == 0)
{
convertView.SetBackgroundColor(Android.Graphics.Color.ParseColor("#6bcdfb"));
}
else
{
convertView.SetBackgroundColor(Android.Graphics.Color.ParseColor("#2cb8de"));
}
CountRepeated++;
if (17 == CountRepeated)
{
isFirst = false;
}
if (isFirst)
{
HorizontalScrollView hv = (HorizontalScrollView)activity.FindViewById(Resource.Id.scrollHesabListGrid);
hv.FullScroll(FocusSearchDirection.Left);
}
}
catch (Exception ex)
{
}
return (row);
}
}
}
|
|
|
|
|
I need to integrate basic encryption into a .Net portable class using PCLContrib (http://pclcontrib.codeplex.com/)
I have converted desktop framework code to portable as below but I get a padding error on decryption.
Can anybody help me out?:
Public Function XAES_Encrypt(input As String, pass As String) As String
Dim AES As New System.Security.Cryptography.AesManaged
Dim Hash_AES As New System.Security.Cryptography.SHA256Managed
Dim encrypted As String = ""
Try
Dim hash As Byte() = New Byte(31) {}
Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.UnicodeEncoding.Unicode.GetBytes(pass))
Array.Copy(temp, 0, hash, 0, 16)
Array.Copy(temp, 0, hash, 15, 16)
AES.Key = hash
Dim DESEncrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateEncryptor()
Dim Buffer As Byte() = System.Text.UnicodeEncoding.Unicode.GetBytes(input)
encrypted = Convert.ToBase64String(DESEncrypter.TransformFinalBlock(Buffer, 0, Buffer.Length))
Return encrypted
Catch ex As Exception
Return ex.Message & "error"
End Try
End Function
Public Function XAES_Decrypt(input As String, pass As String) As String
Dim AES As New System.Security.Cryptography.AesManaged
Dim Hash_AES As New System.Security.Cryptography.SHA256Managed
Dim decrypted As String = ""
Try
Dim hash As Byte() = New Byte(31) {}
Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.UnicodeEncoding.Unicode.GetBytes(pass))
Array.Copy(temp, 0, hash, 0, 16)
Array.Copy(temp, 0, hash, 15, 16)
AES.Key = hash
Dim DESDecrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateDecryptor()
Dim Buffer As Byte() = Convert.FromBase64String(input)
Dim TFB() As Byte = DESDecrypter.TransformFinalBlock(Buffer, 0, Buffer.Length)
decrypted = System.Text.UnicodeEncoding.Unicode.GetString(TFB, 0, TFB.Length)
Return decrypted
Catch ex As Exception
Return ex.Message & "Error"
End Try
End Function
modified 19-Dec-13 14:55pm.
|
|
|
|
|
How to access in Google maps services in windows phone
|
|
|
|
|
|
Hello everyone,
I have asked this question few days ago on windows phone forum and so far no one took interest to answer and I hoped I get more luck here.
The question is why not having push notifications to ...isolated storage.
This would be a new type of push notification similar to tile push notification but instead of updating a tile, it would write a short text to IsolatedStorageSettings.ApplicationSettings[]
the purpose it would serve is keeping the application informed on whatever happen while it was stopped. If you look at all apps that use push notifications to tiles, it is easy to see that while the tiles show some updated information (eg. current weather), the application knows nothing about it and when it starts it shows data loaded days back from a previous run. It is true that (when internet connection is available) the application can refresh its data and the tiles but that takes some time (3-10 seconds in real scenarios), time in which the user is presented with outdated information he doesn't want to see. I believe that this feature would bring some power and smoothness to WP with zero impediments.
Help me with any thoughts for why this feature would be great, or bad, or irrelevant....
Thanks
Alex C. D.
|
|
|
|
|
Good Day All
I am trying to stream an mp3 from a URL , So i first wanted to download the file first into the Isolated Storate or Local Storage and start to play the file. Below is the code i use to copy the File locally
public static void CopyToIsolatedStorage(string _fileName)
{
List<string> MyList = new List<string>();
MyList.Add(_fileName);
foreach (var item in MyList)
{
using (IsolatedStorageFile localFile = IsolatedStorageFile.GetUserStoreForApplication())
{
Uri uri = new Uri(_fileName, UriKind.Absolute);
HttpWebRequest request = HttpWebRequest.Create(uri) as HttpWebRequest;
request.BeginGetResponse((ar) =>
{
var response = request.EndGetResponse(ar);
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
using (var stream = response.GetResponseStream())
{
var name = GetFileNameinURL(item);
if (localFile.FileExists(name))
{
localFile.DeleteFile(name);
}
using (IsolatedStorageFileStream fs = localFile.CreateFile(name))
{
stream.CopyTo(fs);
}
}
});
}, null);
}
}
}
and i try to play it like this
private void btnPlay_Click(object sender, RoutedEventArgs e)
{ Button button = sender as Button;
GenericFunctions.CopyToIsolatedStorage(button.Tag.ToString());
media.Source = new Uri(GenericFunctions.GetFileNameinURL(button.Tag.ToString()));
media.Play();
media.Volume = 1;
}
Thanks
Vuyiswa Maseko,
Spoted in Daniweb-- Sorry to rant. I hate websites. They are just wierd. They don't behave like normal code.
C#/VB.NET/ASP.NET/SQL7/2000/2005/2008
http://www.vuyiswamaseko.com
vuyiswa[at]dotnetfunda.com
http://www.Dotnetfunda.com
|
|
|
|
|
Just posting blocks of code is not very helpful. If you have questions then please provide full details.
Veni, vidi, abiit domum
|
|
|
|
|
sorry forgot to post the error
An exception of type 'System.UriFormatException' occurred in System.ni.dll but was not handled in user code
and my URI is
http://media.lakewood.org.edgesuite.net/JOM/podcast/mp3_audio/596_Podcast.mp3[^]
Vuyiswa Maseko,
Spoted in Daniweb-- Sorry to rant. I hate websites. They are just wierd. They don't behave like normal code.
C#/VB.NET/ASP.NET/SQL7/2000/2005/2008
http://www.vuyiswamaseko.com
vuyiswa[at]dotnetfunda.com
http://www.Dotnetfunda.com
|
|
|
|
|
Good Day All
i have some video and Audio Files that i would like the user to download to the Local Storage and after being downloaded it must be viewed.i tried the following code.
string m_Url = "http://media.lakewood.org.edgesuite.net/JOM/podcast/mp3_audio/596_Podcast.mp3";
private void btnDownload_Click(object sender, RoutedEventArgs e)
{
Button button = sender as Button;
if (button.Tag.ToString() != string.Empty)
{
IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForApplication();
if (!fileStorage.DirectoryExists("BOOKS"))
{
fileStorage.CreateDirectory("BOOKS");
}
StreamWriter fileWriter = new StreamWriter(new IsolatedStorageFileStream("BOOKS\\" + GenericFunctions.GetFileNameinURL(m_Url), FileMode.OpenOrCreate, fileStorage));
fileWriter.Close();
if (fileStorage.FileExists("BOOKS\\" + GenericFunctions.GetFileNameinURL(m_Url)))
{
MessageBox.Show("Download Complete");
GenericFunctions.PlaySound("BOOKS\\" + GenericFunctions.GetFileNameinURL(m_Url));
}
}
}
Thanks
Vuyiswa Maseko,
Spoted in Daniweb-- Sorry to rant. I hate websites. They are just wierd. They don't behave like normal code.
C#/VB.NET/ASP.NET/SQL7/2000/2005/2008
http://www.vuyiswamaseko.com
vuyiswa[at]dotnetfunda.com
http://www.Dotnetfunda.com
|
|
|
|
|
Good Day All
i am trying to load an XML into a Model in WindowsPhone , so no DataTables , i tried the following last resort but it gives a Generic error that is not clear. The Following is the XML
<SONGS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SONG>
<SONG_ID>1</SONG_ID>
<TITLE>SONG1</TITLE>
<PRICE>3.95</PRICE>
<URI>http://media.lakewood.org.edgesuite.net/JOM/podcast/mp3_audio/596_Podcast.mp3</URI>
</SONG>
<SONG>
<SONG_ID>2</SONG_ID>
<TITLE>SONG2</TITLE>
<PRICE>3.95</PRICE>
<URI>http://media.lakewood.org.edgesuite.net/JOM/podcast/mp3_audio/596_Podcast.mp3</URI>
</SONG>
<SONG>
<SONG_ID>3</SONG_ID>
<TITLE>SONG3</TITLE>
<PRICE>R4.95</PRICE>
<URI>http://media.lakewood.org.edgesuite.net/JOM/podcast/mp3_audio/596_Podcast.mp3</URI>
</SONG>
<SONG>
<SONG_ID>4</SONG_ID>
<TITLE>SONG4</TITLE>
<PRICE>3.95</PRICE>
<URI>http://media.lakewood.org.edgesuite.net/JOM/podcast/mp3_audio/596_Podcast.mp3</URI>
</SONG>
<SONG>
<SONG_ID>1</SONG_ID>
<TITLE>SONG5</TITLE>
<PRICE>6.95</PRICE>
<URI>http://media.lakewood.org.edgesuite.net/JOM/podcast/mp3_audio/596_Podcast.mp3</URI>
</SONG>
<SONG>
<SONG_ID>5</SONG_ID>
<TITLE>SONG6</TITLE>
<PRICE>10.95</PRICE>
<URI>http://media.lakewood.org.edgesuite.net/JOM/podcast/mp3_audio/596_Podcast.mp3</URI>
</SONG>
</SONGS>
and my model is defined like this
public class SongsModel
{
public int SONG_ID { get; set; }
public string TITLE { get; set; }
public string URI { get; set; }
public string PRICE { get; set; }
}
and the Function is
<pre lang="c#"> public static List<songsmodel> GetSongs()
{
//Get the XML and Convert it to DataSet
XDocument loaded = XDocument.Load("MUSIC.XML");
List<songsmodel> songs = (from c in loaded.Descendants("SONGS")
select new SongsModel()
{
SONG_ID = (int)c.Element("SONG_ID"),
TITLE = (string)c.Element("TITLE"),
URI = (string)c.Element("URI"),
PRICE = (string)c.Element("PRICE")
}).ToList<songsmodel>();
return songs;
}
and i get the following Error , a Generic Windows Phone Exception
An unhandled exception of type 'System.ArgumentNullException' occurred in System.Windows.ni.dll
Thanks
Vuyiswa Maseko,
Spoted in Daniweb-- Sorry to rant. I hate websites. They are just wierd. They don't behave like normal code.
C#/VB.NET/ASP.NET/SQL7/2000/2005/2008
http://www.vuyiswamaseko.com
vuyiswa[at]dotnetfunda.com
http://www.Dotnetfunda.com
|
|
|
|
|
I dont know what to say , After i changed it to "Song" it worked nicely.
Vuyiswa Maseko,
Spoted in Daniweb-- Sorry to rant. I hate websites. They are just wierd. They don't behave like normal code.
C#/VB.NET/ASP.NET/SQL7/2000/2005/2008
http://www.vuyiswamaseko.com
vuyiswa[at]dotnetfunda.com
http://www.Dotnetfunda.com
|
|
|
|
|
Hi All,
I am working on cross platform applications using Jquery Mobile (1.3.1), Jquery (1.9.1) and Phonegap (2.8.0). The application works fine on Android, iOS and Blackberry platforms. But, on the Windows platform the ajax transitions do not seem to work.
Since the AJAX not loads I am unable to load the control label values from the json file. Kindly share your input if you used this.
Also Windows mobile by default triggers only the failure event in $.ajax method, its not even recognizing the .done or success function.
I have set globally $.support.cors to true, $.mobile.allowCrossDomainPages to true and I tried all version Jquery Mobile and Phonegap libraries but no luck .
Kindly share your thoughts on this which will be very helpful for my project.
Thanks,
Santhosh
|
|
|
|
|
Hi ,
Try Using Normal JAVASCRIPT:
var ajax = new XMLHttpRequest();
var seconds = new Date().getTime(); // avoid cache problem
var additionalParam = "" // if any
var URL = "http://www.domainname.com/api/method/"; // your URL
var authURL = URL+ additionalParam+'&tmp=' + seconds;
ajax.open("GET", authURL + '', false);
ajax.send();
if (ajax.readyState == 4 && (ajax.status == 200)) {
console.log("ajax.responseText" + ajax.responseText);
}
Thanks.
|
|
|
|
|
can you help me for create qize by eclipse
|
|
|
|
|
|
(I have put various products in bold. If ANYONE has extensive experience with any of these, I'd be interested in comments on your experiences.)
First, some background:
I was hired to rewrite a RealBasic application. Vastly over-simplified, this is a vector drawing program which supports our cutting device and which must run on Windows and OSX. The previous job holder had decided to use C# and had written some code and did a small test with Xamarin, but hadn't gotten very far and apparently was running into problems, though since he left before I arrived, I'm not clear on what those problems were. I decided to use Qt and having been making good progress doing so.
Yesterday, I was told that the higher-ups have decided that a "lite" version for tablets, especially iPad, was my new priority. I immediately started doing some research and making calls. This is an extension of that. I am looking for real world experiences, not advice based on what someone may have read or Googled. I have narrowed things down to the following choices:
1) Continue with Qt. Pros: native C++, solid, I can do a lot of development on Windows, iOS & Android support are being added. Cons: iOS & Android support are being added and thus feedback on iOS/Android capability, performance, issues, etc. is limited, runtimes are large.
2) Switch back to C# and use Xamarin. Pros: Xamarin has a good reputation. I can do a lot of development on Windows. C# has some nice things about it. Cons: performance questions, look & feel issues, previous developer was having problems. C# has some nasty things about it--I'm quite adept at it, but still dislike the non-determinism, performance issues at critical points and how often I end up P/Invoking. Mono has gotten pretty good, but is still limited.
3) One developer suggested Unity, but it's way overkill for what we need--it's very game oriented--and while it handles some of our display issues, it doesn't help much below that.
4) Go completely native. The developer from #3, who's written games for iOS and Android suggested this. Pros: best speed, look and feel, app can be more fully optimized for the platform. Cons: portability issues may cause huge opportunity costs if sales justify going to Android. Requires me to even more "jack-of-all-trades, master of none."
5) A combination of the above (something the guy from #4 also suggested); writing as much code as possible in a common library with a shim layer (like QtCore) underneath and completely native for UI. This mitigates some of the opportunity costs from 4 at the cost of some speed and optimization. However, it may end up causing more work and end up with more #ifdefs than not.
5a) To simplify some of this, I've found a library called DragonFireSDK, which abstracts out the iOS APIs and lets you develop iOS code on Windows. Has anyone used this?
Again, I'm hoping to get feedback from developers with actual experience writing applications using these tools or alternatives. While I can get a little OCD about these kind of things, my main concern isn't as much picking the right solution but avoiding the wrong one.
* * * *
EDIT - 5/20/2014 - In the end, I found that Qt was the most mature solution with Xamarin some distance behind. Worse, licensing for Xamarin is pretty high and support seems very poor. Ironically, the entire project was scrapped in February (the original software authors decided they wanted the project back and apparently made an offer the company couldn't refuse.)
modified 21-May-14 0:34am.
|
|
|
|
|
I don't have any experience in any of these, but I stopped by hoping to get some insight for a project that will be going mobile in the spring and will need to be on iOS and Android at a minimum.
I noticed you left out PhoneGap which seems to be one of the heavy hitters in cross platform mobile development.
|
|
|
|
|
You may look at corona-sdk[^]. I have not used it in over a year but is a great concept. Write everything in Lua and it gets compiled for most any mobile platform. Just make sure you can do what you need it too before buying it. (I ran into a few gotchas, mostly with device specific functions like GPS)
|
|
|
|
|
CoronaSDK looks intriguing. I'm a little concerned that it uses a scripting language. One of the reasons I was hired is that our desktop app was using something similar and doesn't scale well. However, were I doing game development, this would be at, or near, the top of my list!
|
|
|
|
|
good platform, let's see how it works
|
|
|
|
|
I'm not overly experienced, by any means, but I've dabbled with native and cross platform. RedGate makes a great product (I have NO association with the company) called Nomad for Visual Studio ([^]). It's a cross product/platform tool that plugs into Visual Studio. I used it enough to build an app that ran on both on an iOS and Android device, and queried web services via JavaScript. It was slick, stable, and I spent all my time learning HTML5 and dusting of JavaScript.
Our company has decided to go native, but I'm not sure I agree. Yes, we use RESTful services, and yes, we're sharing simple JSON data packages from the back end, so the UI is very much able to be platform specific. So now I'm building a native Android prototype. Yes, as a C# developer Java is an easier transition, but the native stack is unique. I've had to learn about saving login information/session states when rotating screens, the uniqueness of binding to a ListAdapter, and the caveats that are the platform. It's fun, but I keep thinking that it's a blank slate the day they ask for my prototype for iOS. Yes, the business logic is in the back end, but the UI isn't light, small or a trivial task, let alone if you know you'll build and maintain at least two stacks. (We will need to support Surface tablets too, so we know we'll need three UI teams eventually.)
BUT - weigh a couple of things - can you/your company afford to have an iOS team and an Android team building the same UI for a given product? Yes, users prefer native Android controls/look and feel, as do Apple users, but if you can't afford both teams, then having a cross platform product that you can sell to either consumer is more valuable (to me) than native.
Also weigh how much of your consumption will depend upon the features on the device; if you're not interested in geolocation, snapping photos, or maybe don't have a need to get to native services, cross platform is a stronger option. In our case, we're very device centric now, using the camera, the GPS, the accelerometers, etc. In theory you can get there with PhoneGap, but it's a weight that must be measured.
Finally, consider your audience and your application suite. My company has a large suite of products and product lines. Each app we release for the new mobile work (because we're a bit playing catch-up) has to be a quality, top notch, well-performing product. We can afford to dribble out a product within a suite at a time, one that lends itself to mobility, and learn as we go. If you're a smaller shop with less applications, it's all about delivering the best product to the largest number of your customers.
Native or cross platform isn't a light decision. I wish you luck, but make your spreadsheet and start adding some weights. And avoiding the wrong tool, really, is finding one that satisfies all of your use cases. And if the bulk of your cross platform code is HTML5 and JavaScript, it's quite portable if you want to use another cross platform product.
cheers.
I awoke in a fever,
The bedclothes were all soaked in sweat.
She said, "You've been having a nightmare.
And it's not over yet" - Roger Waters
|
|
|
|
|
Thank you for your detailed response. We actually aren't using HTML5 or Javascript at all. This is a client application for buying vector images from our store, manipulating them to some extent and transmitting them to a printer-like cutting device. In other words, this is not a data driven app and is heavily user-interactive.
Since I posted my original comment, I've eliminated Xamarin for several reasons and am zeroing in on Qt and DragonFireSDK.
(As an FYI, to check the viability of going back to C#, I ported a section of completed code from Qt. To my surprise, it ran twice as fast as the C++ version. I scratched my head and then realized that I'd been writing files using an ACID type algorithm to prevent data loss/corruption if power was lost. However, in the specific case I was testing, I didn't really need to be doing this since I'd changed how I was enforcing data integrity [it became an all or nothing thing at a higher level.] I made the change and the C++ version ran 4 times faster than the C# version, which is what I expected.)
modified 1-Nov-13 13:00pm.
|
|
|
|
|