smartGWT vs Mgwt (mgwt + smartgwt) - mobile

I finished 1 Project in Pure GWT and 1. in SmartGwt. However I want to support a Mobile version of both Projects now.
I found :
mgwt -> which has a medium Community, documentation is well made and under heavy development.
SmartGwt - Mobile -> which has a low Community, documentation is not that good, development idk..
Both have a Showcase site.
I personally liked the SmartGWT-Mobile Showcase better.
But the point that mgwt gives me better support is huge!
My questions is now :
1.Mgwt or SmartGwt mobile or together?

I think the answer depends on your strengths itself. I tried both of them when I started building cross platform app.
Smart GWT Mobile
+ve:
Easy to start working with
Large number of ready to use components.
-ve :
Support is an issue.
And if there is some thing the framework didn't support, it was hard to get it done.
The Smart GWT performed best when the server side also used Smart GWT. Even though Smart GWT mobile is free, I was not comfortable since they may tie it up to server similar to Smart GWT some time in future.
mgwt
+ve:
of course, open source.
good support on google forums. Normally the questions are answered on mgwt forums and occasionally Daniel Kurka also jumps. Daniel is creator of mgwt and he is also a member of GWT steering committee.
The themes in mgwt are good. The L & F just matched the ios or android platform.
I can extend it easily if some component is not available or if I didnt like any thing.
-ve:
limited number of components.
It takes time to set up and start using.
Slow updates.
Finally I went with mgwt since I have a team which can open up the code and fix it, if they see any issues.

Related

Toolkit options to write a crossplatform mobile app in 2012?

I'm currently investigating the alternatives for crossplatform development for Android and iPhone (Windows 8 could be a nice addition). The app is basically a "map with an asociated app", and certainly not a game.
Searching here I see many outdated advice and tools from 2010/2011, but since then Apple has changed their policies and surely new things have appeared.
My current list and light research (might have facts wrong) is:
Monotouch/Monodroid: .NET (Mono) framework. Create "native" apps on both platforms. Requires rebuilding UI code (or similar things).
Appcelerator: Javascript framework to compile native apps.
Corona: Similar to Appcelerator.
Phonegap: Similar idea, but looks like it uses a wrapper to appify HTML5 content
SenchaTouch: Another HTML5 based platform.
Wink: Yet another HTML5 toolkit.
XVLM: Android to ObjC compiler, probably creating ugly iOS apps.
Unity3D: For games only.
Moai: For games only.
So, there are three main ideas, with some frameworks implementing each, it seems to me:
Have an abstraction layer over native iOS/Android code and build for each platform using the provided layer. (Monotouch, Unity3D)
Use HTML5 (coding in Javascript) and some kind of wrapper to "appify" the web content. (PhoneGap,Sencha,Wink)
Code using a framework that will output as a compilation pass (or similar) a native app for each supported platform (Moai, XVLM,Appcelerator,Corona)
The questions:
Is there a fourth idea I haven't yet found?
Is there any blatant mistake in my research for any of the specified frameworks?
Is there any known problem for map integration with any of these ideas or specific frameworks?
Only a partial answer:
Ad 2. Appcelerator / Titanium is more than just HTML5. I read this pretty extensive comparison between PhoneGap and Titanium the other day on Hackers News. I found it very informative. The link points to the HN comments, the link to the actual article is at the top.
My main experience is with Mono for Android and MonoTouch, so I can't personally speak much to the other options. I personally find it to be the best option there is, as it allows you to share a large amount of your code across the platforms (even extending to non-mobile platforms if you stick with .NET), while still allowing for a 100% native UI, which is extremely important. If you're looking for resources on getting started, I have this video which discusses approaches and libraries for sharing a lot of code across platforms, and also this book which covers the same thing, but also expands to talk about how to do things like store data, use maps, access the network, etc.
I also want to mention MonoGame, which is absent from your list. MonoGame is an open source XNA implementation that sits on top of Mono to allow you to target iOS/Android/Max OS X.
From what I have experienced, if you want to have a native app go Mono, if you don't need native go PhoneGap. Native is best of the UI is very important, ie games or fairly graphical apps. But from business type app, CRUD, Phone gap works well.

DotNetNuke VS Drupal 7?

I am planning to build a website for courses online, teachers can create their courses and put their exams, students can enroll, view courses and apply for exams ..
I am a bit confused, to build it with DDN or Drupal ? which is easier and more powerful ?
I have no problem with .NET C# or PHP, although I see C# more easy to code with,
what I need to know, which CMS is better for my case ?
Which CMS is more robust & complete ?
Thanks in advance.
Of course, either platform has its pros and cons. What you're looking at building is essentially a Learning Management System, or LMS. There are a few existing LMS solutions built specifically for DotNetNuke. They include Engage: Campus, NetLearn, and Accord.
I would tell you to go with which ever platform offers you the most features for managing this kind of content for the best return on your investment, and offers you the best comfort level. If you're familiar with .Net and are comfortable in that arena, then stick with DotNetNuke. Otherwise go with another platform. However, having nearly 8 years of experience in developing solutions with DotNetNuke, and 13+ overall in developing software solutions (including PHP-based ones), if I have a choice, I always go with DotNetNuke. (And not just because I am an employee for a year now.)
I find that DotNetNuke has the most stable builds and releases overall. It's security team and features are second to none. It's community and ecosystem is unrivaled. If you're looking for a pre-built solution for any kind of business problem, chances are that the 10,000+ extensions in the Store or Forge will get you up and running with less development time and less expense. The forge has free (open source) extensions, and the median price of a store extension is $89 (LMS's are quite more expensive though).
The eco-system also boasts over 800 known ISV's out there. So chances are, if you're looking for support, not only is there an official company to provide it and back you up when something goes wrong, there are numerous other options out there in terms of companies that specialize in DotNetNuke.
One last thing on the releases... DotNetNuke has a known roadmap, a frequent release cycle, and an outstanding reputation for backwards compatibility. Your extensions will continue to work on the platform as you upgrade to take advantage of the latest and greatest features added to the platform, usability updates, bug fixes, and security updates.
As a Sales Engineer at DNN Corp, I hear all kinds of use cases, and I see DotNetNuke used a lot in educational institutions. They all use it to varying degrees as not only a CMS, but also a LMS, social platform (even in schools), and more. Most schools are also standardized in some way on the Microsoft stack too, so integration is much more straight-forward using DotNetNuke.
I could go on, but this is as much time as I have to give you an informed response.
Based on what you are trying to build DotNetNuke will only really give you authentication and basic page creation out of the box. All those other elements will have to be custom coded in .NET.
If you use Drupal 7 you can build majority of that using CCK, Views and workflow without really having to do a ton of programming if you don't want to.
I have been doing DotNetNuke since 2003 and have developed tons of modules for it, including some publicly available at www.dnnspot.com
If I was in your shoes I would do Drupal, but I know both pretty well.
ACTUALLY - If 'I' was in your shoes I would do Ruby on Rails now ;) but ... Drupal would work pretty well and you could get alot if not all of this done without slinging much code. Drupal is crazy.
DNN is now built on C# but has always been on .NET. I'm in a similar position as I code in PHP and .NET and have used Drupal and have been working on DNN for the last 4 years. I find that Module Development in DNN is wonderful.
i hope that helps.
Full featured Learning Management Systems (LMS) require substantial development (man decades), especially if you want to support SCORM eLearning content. Both DNN and Drupal will offer you most of the add on functionality that you will need in addition to the LMS features - the ability to build web pages, rich text editors, etc.
I would evaluate the different the LMS available for each platform and make your choice based on how robust the LMS are. In addition, evaluate how easily the LMS integrates with add on modules such as forums, wikis, etc. Most of our clients select our LMS without any knowledge of the portal framework beneath it.
Based on these evaluation metrics I am confident that you will find the Interzoic Accord LMS running on DNN to be a superior choice.
Chris

A small query regarding appcelerator titanium?

i'm planning on working with titanium.
i want to know if "Same origin policy" can be eliminated by using titanium.
are there any drawbacks in titanium?
please recommend some cross-platforms..
please do leave some suggestions..
Thank you,
SOP is especially used for HTTP. So it doesn't concern titanium since it only use javascript as "local" language that is "translated" into xcode. at the end you got an simple xcode-project and an .app file.
i use it for a quite complex app and it works fine. i needed adding some features as module written in objC since the framework isn't as ongoing concering the iphone API as the native objC, but that worked out fine.
Since you are asking for the drawbacks of Titanium.. here it is..
I would not say that it's cross platform. Even my android app will look different in my Mac compared to the one developed in Windows.
Not all functions will work on Android and iPhone. Some will partially work on the other.
Ti is a biased and Android Developer are always left behind.
Also, if you are developing an Android app like me, you will be facing a lot of problems and Kitchen Sink will not always work. Android development in Ti is very bad and expect to find a lot of bugs.
Contacts API is not even complete as of now (Version 1.60) . I can't even get the contacts email and phone number!
No Bluetooth support
I spent a lot of hours "debugging" and waiting for the emulator rather than serious coding.
API refence and the QA will help a bit but there are more questions than answers.
Ti doesn't even have a proper debugging features as well as IDE. Make sure to dedicate a lot of hours in knowing how it works. I have a hard time finding a good resources to start.
Memory Problem and Leaks are very common.
Gradients will not work in Android (use image instead)
and last thing, Documentation really sucks!
(but still I love Ti despite all of the above)

I want to build a Google-friendly web app, where should I start?

I have only very basic experience with HTML/CSS and have quite a bit of experience with testing software and web apps from a consumer perspective. I'd love to launch a web application that plays nicely with Google services, similar to some of the apps you'd find on the Google Apps Marketplace, such as ManyMoon, time to note, Socialwok, etc. I'm a huge Google fan and would like to build something that's well integrated with other Google services.
If you were a total beginner and wanted to build a complex app like one of examples above (project management, CRM, etc), where would you start?
If you worked your ass off 18 hours a day, 24/7, how fast could you do it?
I've dabbled into various languages and development frameworks, and read about which apps are using what languages but it's hard to figure out what would be most beneficial to jump into. Ruby on Rails, PHP, Google Web Toolkit, AppEngine. The list goes on and on. I want to be able to build and launch my own scalable web app.
Thanks.
One bit of advice: There is no shortcut for proper experience. It took me 4 years to come to a point where I can build enterprise level web apps - even though I had the dream of building one immediately, right from the beginning. Start small and build your way up.
Even though I did hate this advice when I was receiving it... Don't try to build the next Facebook platform right now.
Now, to answer your question:
Skills:
You must be absolutely clear about server-client interaction with respect to HTTP. You will never understand AJAX fully without understanding HTTP and behind the scenes of browsers. Note: being clear and knowing everything are two different things. Be clear about HTTP.
Learn about HTML/CSS and JavaScript standards to some extent to know that they bahave differently in different browsers. In the grand scheme of things, they are not that important if you are okay with some framework that handles these for you (I recommend JQuery and JQuery UI).
Learn a little about Linux, Apache, PHP.
How to go about it:
To develop web-apps, you could start with the LAMP stack - Linux + Apache + MySQL + PHP.
First build a small web app that does something trivial - like saving and retrieving user's stuff using AJAX and a nice UI or something. I'd recommend jQuery and jQueryUI for JavaScript and UI frameworks.
Then, build a small web app that just gets data from some Google service, given a user's credentials.. I am not Google expert but I guess Google provides APIs for some services(?).
Then build an app where two people can share their data coming from a Google's service or something to that effect.
Then add your own fancy stuff.
It goes on like that.
If you are a .Net person, you could go with.. Windows + IIS + MS SQL Server + ASP.Net3.5/VB/C#. Guess what? StackOverflow is build on that stack :)
Learning about and using an MVC framework is also a good idea - ASP.Net MVC or something similar for PHP.
Minor clarification - By Google-friendly did you mean SEO-friendly? If so, Google-friendly and web-app don't go well together.
It makes sense to build a Google-friendly website not a web-app.
I would start by
brainstorming a hands-on project
identify the skills you will need to achieve it
learn them as you work through the project
set progress goals and celebrate small victories
For most people 18 hrs/day 24/7 sounds a little overly optimistic. A reasonable goal would be to form an interesting project idea and research the needed skills the first week, work through a few tutorials and maybe apply your own functionality the second week, build something 'complete' the third week, then take a step back and take another look at your original goal.
As far as choosing a project, I find a notepad helps. I'll be somewhere and think, 'wouldn't it be nice if...' and I'll go look for a solution that provides that 'what if' and find it doesn't exist. So there you go.
I would also have a look to one of the top voted questions here on Stack Overflow:
What should a developer know before building a public web site.

Is NetBiscuits any good?

Has anybody got any real world stories build mobile web sites with NetBiscuits?
Someone told me it was the next big thing in mobile development (http://www.netbiscuits.com/home) and it looks pretty good from their site. Just wondered if anybody (besides them) has actually used it.
From a few months time working with it, I can say that they're indeed one of the best (if not the best) out there. The support is also insanely quick and good.
Only thing making me stop using it is the price. Especially if you're a small company and want to use their POI feature.
However I have yet to find a good replacement. May end up rolling my own version...
Edit: Related question.
They have created an entire xml (bml) based markup language that emulates html that has a very steep learning curve. I would seriously reconsider using it.
I have seen it working nicely. It also supports ASP.NET controls SDK that can be used to write ASP.NET app from Visual Studio. Once this app is deployed on your premise, you can use live bridge agent to connect this app to a Live Bridge server that Net Biscuits hosts. Your app is called a backend app in this case. This is a very useful feature when you do want to have Forms capability in your app and also want it to be accessible on NetBiscuits platform.
Check http://kb.netbiscuits.com/tactile/edc/livebridge_help.html. BiscuitML is also easier to grasp.
Look out for performance issues though. Customers in Australia have had response time issues - probably due to the Cloud Platform being located in USA/UK.

Resources