Free cross-platform tools for web development [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 3 years ago.
Improve this question
This question is geared towards a group of newly hired developers that need to adopt into a minimal learning curve, maximum development/programming/management effort. Some of the developers have senior level experience and will be mentoring the junior developers. My question is I would like a solid set of tools that can run on any system (as they can choose what they like) but be the same for the entire group. The focus is on Mobile web (Not App) Development but are looking to venture into the Application market once the team gets up to speed with the web development.
Categories of software I need,
Web Development:
IDE (I think I'm set on Aptana stand alone version, unless someone sees something better)
Database GUI (I like DBVisualizer but I'm open to suggestions. MySQL and PostgreSQL are my options)
Code Repository (SVN, GIT, CVS ???)
Debugging tools (need server side as well as client side)
Frameworks (PHP, Ruby, Perl, jQuery, CSS framwork???)
Development Methodology (Agile, Scrum, etc...)
Workflow Documentation (Something like Visio but free)
Mobile Browser set (Firefox, Multi IE, Opera, Safari, Google Chrome) Why/Why Not???
Missing anything from the list???
App Development:
Application SDK's (iPhone,Android, Pre if it still exists)
Handset device
Anything else I might need to plan for???
For communication we are using Google Hosted Apps as well as Wave.

Code Repository: Add Mercurial - Its the only free, distributed version control system that easily runs on windows, mac, linux, etc. SVN will be the only one of those that has a friendly interface.
You'll need to plan for how to make your UI cross platform compatible. As of this writing, its quite difficult to perform a write-once interface in HTML/JS. Although state-of-compatibility is getting better, I would plan to very carefully separate your UI from your business logic because I think you'll likely need to either deploy separate versions of the UI for each device or to have unified, but very simplified, UI that works on many devices (assuming a web app).
Plan on unit test your business code to make sure it works on all of your devices. The JS engines differ, and you need to know that early in your dev process.
Plan ahead as to how to handle user input. If your users have a physical keypad, for example, they'll expect to use it. You may want a very different layout for a site targeting Blackberries with trackballs, then an iPhone or Storm that uses finger taps.
Know ahead of time which platforms you will target, and then buy those phones. If its worth doing, its worth buying the phone. As an example, my first iPhone app talked to the database. It worked fine on the simulator but I was waiting for my developer key before I could test on the device. Once on the device, I discovered that what I thought would be a 1/2 second delay was more like a 40 second delay, which forced me to totally revamp the project.
Hope this helps.

IDE - I think Eclipse (Aptana is a custom version of Eclipse) is a good choice for a cross platform and cross-language IDE. You could also look into NetBeans.
Database GUI - I haven't used many DB Visualizer's myself, so I'll pass on that one.
Source Control - I would go with GIT even if your developers haven't used it before. They will learn to like it quickly and the client tools have improved considerably in the last year or so. Check out Git Extensions for Windows and GitX for Mac.
Web Framework - This should be based on your team's experience and the requirements of your project. I would pick whatever your team feels the most comfortable with. Personally, I'm a fan of Ruby on Rails and ASP.Net MVC, but Asp.Net MVC is microsoft platform, and it seems like you want to stay open source.
Dev Methodology - Whatever your team feels comfortable with. I would say look into Agile and TDD (test driven development)
Workflow Documentation - Not sure about this one
Browser Set - Use them all. Test your applications in as many places as possible. For testing multiple versions of IE, I use IETester. Safari and some extensions for Firefox allow you to change your browser's user agent, which can be useful.

Related

Icenium experience and recommendations

I have to develop a mobile application that is available on Android and iOS.
I do not have any experience with native development for Android or iOS, so I decided to go with some of the existing platforms like PhoneGap, Titanium or Icenium (these platforms provide me with all necessary requirements).
I saw that Icenium requires an invitation code to go through the documentation.
What I want to ask: Has someone played with Icenium? Any recommendations about this cloud-based platform? What about performance?
I have been working with Icenium and I can say that it is fun so far. It is really just an IDE that allows you to use Cordova (PhoneGap) to build apps. There are two IDEs -- one that is browser based and one that is a Windows desktop app. The native desktop app is more featured and has a better User Experience. There is some poetic justice there, if you are looking for it :)
So far, it is certainly young. Support for things like PhoneGap plugins is non-existent so far. I also can't seem to get the app working on a real device, but these are beta bugs and I expect them to be smoothed out.
Although the cloud-based approach is nice because I don't have to worry about using multiple IDEs, you lose a lot of freedom for how you want to develop. For instance, I like using CoffeeScript and there is no support for building, compiling, creating new CS files, etc. Possibly in the future?
Since it is really just an IDE for developing Cordova (PhoneGap) apps, it isn't a different platform from Cordova. It just makes development a bit more streamlined.
I have to say that from my personal experience , Icenium is slow. They market it as being html5 apps that work like native apps and this is just not the case. You can make it look like a native app and you can develop it with the native ideology as it were, letting the user experience it as if it were native, but its so slow.
Its also really odd how a microsoft technology based company ( that is telerik ) has basically removed itself from the microsoft stack with icenium. I am not saying that is bad , microsoft itself needs to do more to attract developers to its platform. Its just really odd because most of the telerik clients use the mircosoft stack , including , very importantly visual studio. Everyone knows VS they have custom plugins that suit their development style and now we must learn and use a new IDE that is so far , in my opinion not even close to the standards of anything. The one primary advantage is that you can deploy to a device.
Adding Phonegap or any other mobile based framework can be done in anything. It also does not provide support for microsoft devices at all. Which removes completely the whole cross platform environment that it seems this was supposed to be created for.
If you are not developing for microsoft , i guess its fine , but i dont see any other advantage other then it can deploy to the device for testing. If you have clients that work on the MS stack .. i would not recommend this at all. Just fire up VS and develop as you have before and just include those libraries in your file system.

Is silverlight the right choice of technology for enterprise applications after Microsoft's comments in PDC 2010

We were beginning to start on an enterprise application using silverlight.
However after reading this post we doubt whether it is the right choice going forward.
The post says that, according to
Microsoft's declaration in PDC 2010,
Microsoft has changed their strategy
regarding silverlight and they no
longer view it as their technology to
deliver cross platform applications.
Instead they are targeting silverlight
as their development platform for
Windows phone 7.
Is this correct? Should we still continue with silverlight or go back to ASP.NET WebForms\MVC?
The Scope of the application is basically intranet with Windows 2008 servers and Windows XP and Windows 7 clients. However a subset of functionality needs to be available to the external users over the internet. There we cannot have any restrictions on what OS users can use.
based on the info you gave, I can't conclude whether silverlight is the way to go. But what I do know is that a number of Microsofties wrote some blogposts about the things said about Silverlight on the pdc. For example John Papa, Bob Muglia and Scott Guthrie.
Update about the scope
I think you already gave the answer when you described the scope of the application. A part of the application will be available to external users and you cannot have any restriction about the OS they are running. With that requirement I think Silverlight is not the best way to go. Not because the rumours about its future but because of its platform indepency. What are the reasons not to go for a ASP.NET/web solution? Silverlight doesn't work on each OS whereas plain HTML will work everywhere. (ok you need a descent browser)
Although for a good advice I'd need more information about the application.
Basically the question you have to ask yourself is this: do you need your application to be used on every platform, i.e. Windows, Mac, Linux, misc. flavors of Unix, IPhone and other mobile platforms?
If that's the case, then a web based solution is the way to go.
If Windows, Mac and partially Linux is enough, then save yourself and your team a lot of pain and use Silverlight.
In my opinion support for mobile clients is the key factor in your decision.
For sure the right platform for Intranet, Enterprice applications Is Silverlight. It is
stable, performs extreamly well, the environment and the development time is huuge less than web application development, the end User Experience is much better and so on and so forth... Once you want to show part of the system out the the intranet - just create some specific target modules that will address the needed audince. You won't have the universal "Reachfull" solution, that will target everyhing, you'll always need mobile versions or other devices and so on. But once you've built your project the right way with Services (same services that the Silverlight app will consume), it'll be easy job to consume them with new UI.
Hope you will choose Silverlihgt.
Silverlight is a great technology, but the Microsoft does not develop it anymore. So as a technology is a great decision. But if you want to make a Silverlight app usable on a NOT supported platform (e.g. Android or iPhone) you have to use 3rd party services. For example http://sl2html.com

Mobile Development Tools [closed]

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 5 years ago.
Improve this question
I'm researching various tools available for developing and deploying an app to mobile devices. The existing app is available in two versions: as a traditional desktop application and as a browser-based "Lite" version. We're building out the features of the "Lite" version to make it a full implementation of the flagship software, but thinking about mobile development as well.
What are the best tools available for cross-platform deployment of an Internet-enabled application to mobile devices? Which is the better way to go, native applications developed on a cross-platform API or a mobile-ready website? What tools are available for each?
One person suggested looking into "Agile" as a solution. I'm not quite sure what he meant, or even if that was the right reference ... does it ring a bell for anyone (I'm familiar with "agile development," but he was referring to "Agile" as a mobile development tool ...)?
It turned out "Agile" was a misstep. At the time, he was referring to tools like Mobify that automate the development and deployment of simple mobile websites. For our situation (a membership-based RIA), though, this wouldn't work.
The best tools I did find, though, for anyone interested:
Sencha Touch
A fantastic JS library for building RIA system for the iPhone and Android
GPL licensed for free software
Commercial licenses are also available
Uses HTML5 and CSS3 to deliver smooth animations and an incredibly "squishy" UI
jQTouch
Another great JS library (Sencha is actually based on this one).
Built on jQuery, so it's an easy framework to learn
MIT licensed - more versatile than GPL licensing when it comes to JS libraries
Also uses HTML5 and CSS3
Raphael
A great library for interactive/animated SVG displays (I need to graph data, so this is important
Also MIT licensed
In reality, Sencha Touch is based on both jQTouch and Raphael, so if you're looking for an all-in-one solution, I'd recommend you go that direction. Unfortunately, it doesn't work well in situations where your server-side applications are closed-source (which is a necessary security requirement for medical or financial web applications). Though Sencha does offer a corporate license, it's currently a "beta" license and they may or may not charge $199/developer in September (they're unsure of the schedule). Their interpretation of the GPL is also more viral than most, so I would not recommend using their GPL license if there's any code on your site (even on the back-end) that would even remotely fall into non-compliance.

Newbe Silverlight Questions

I have an app I'd like to run in the browser but do not want to deal with the fairly primitive development environment that the browser is. I have a few high level questions about Silverlight 3 (I've never used it):
1) What environments/browsers support Silverlight 3?
2) Would my users (who would be world-wide) have to install Silverlight 3 on their computer before they could run my app? I assume so. If so, is this a major undertaking?
3) Would my app be permitted to save files to the user's computer, and read them back?
4) Is Silverlight 3 fairly mature? IOW, would this be a frustrating development experience or are the tools/functionality far enough along where they allow the developer to do mostly what he/she wants to do?
Thanks. That should get me started.
Silverlight is supported on Windows and Mac OS X, in IE, Firefox and Safari. There is a port to Linux, Moonlight, which is developed externally from Microsoft but with their collaboration.
Yes, your users would have to install Silverlight 3. This is reasonably simple and the Silverlight project wizards generate code that will prompt the user to do so. The overhead is similar to installing Flash. Permissions may be an issue for corporate users though: many companies have policies that do not allow users to install arbitrary plug-ins, and the admins may not have made an exception for Silverlight.
Your app would be permitted to save files to isolated storage (with a size limit), or if you prompted the user to select a save location. Your app would not be permitted to save files to arbitrary locations without informing the user and allowing them to change the path. Isolated storage is private to your app and could not be used to read other apps' data or share data with other apps.
Silverlight 3 is a fairly mature runtime, but the development tools are not as mature as the rest of the .NET toolchain. In particular diagnosing and debugging XAML exceptions can be very frustrating (Silverlight tends to throw AG_E_UNKNOWN_ERROR or HRESULT_E_FAIL with little, no or misleading diagnostic info rather than a WPF-style XamlParseException). That said, it is still C# and a variant of the .NET Framework, so you get all the Visual Studio goodies like Intellisense, a nice visual debugger, etc.

Deployment: GWT vs. Silverlight [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 4 years ago.
Improve this question
I'm in the early planning phase for a project and determining whether to use Silverlight or the Google Web Toolkit (GWT). There are obviously a lot of things to consider, but this question is specifically concerning deployment.
This application is intended for intranets; i.e. it is not a hosted website and is intended to be deployed at a customer's site. The target company size is small, so most would likely prefer to run on their pre-existing servers. The intent is not to sell the code base along with the application, so code security is a concern.
Given that:
Which is easiest to deploy?
Which is better for code security?
Which is better suited for deployment to the majority of small servers?
Both will work.
Both can be secured.
Neither place a heavy load on servers.
Use what makes more sense to the user. If I were using in Intranet application, I would probably want something that doesn't require me to download anything and runs smoothly in the browser. That makes me lean towards using the Google Web Toolkit (as long as you're comfortable with coding in Java).
If you think your users will be able to and ok with downloading Silverlight and you're a MS developer, go for it. The only downside is that your users have to download and install a runtime AND you might be using more internal bandwidth.
It mainly depends on what technologies you are familiar with. If you are a .Net shop, it just makes so much sense. Silverlight is compiled to XAP and is deployed on windows servers. Make sure you register the file extension of XAP in IIS. A XAP file is a Silverlight package that contains everything you need to deploy your Silverlight application, including the application manifest, the project assembly, and any other assemblies that your application uses
A major side effect of the Silverlight compilation model is the IL code can be easily decompiled or reverse engineered, Hence it is not an an appropriate place to store encryption keys, algorithms that are proprietary etc. If there is such needs, then design a web service that is on the server side. you can also try using obfuscation.
I would agree with what you are familiar with. Ask yourself, "What IDE am I best at?";
"What language do I know best, VB, C++, J#, C#, Java, ASP, JSP?".
What I know about either library would not give you much help but I have used them both.(just playing with samples).
I do know that GWT will take java classes and create a nocache.js file that your web page uses. I have not tried GWT with Silverlight although I did see this on the way here:
http://www.ongwt.com/post/2007/12/08/GWT-will-support-Silverlight
Is caching an issue? What classes does you system already support?
Both technologies are of an AJAX base. MS does it for Windows servers. Others use Open Source servers. What do use?

Resources