Deployment: GWT vs. Silverlight [closed] - silverlight

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?

Related

What are Cloud Computing Applications? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
So I've been studying Cloud Computing lately and I'm trying to wrap my head around the concept, since my background is mostly front-end web development.
I've gone over most of the Service Models and abstract computing services, but I still don't see the bigger picture I guess.
I'm having trouble understanding what exactly is a Cloud Application. Is it just a website hosted by a huge datacenter? Can I only access Cloud Application through a web browser then? And is it possible to have a desktop application 'running' in the cloud? If so, what kind of code is running in the cloud?
I just can't seem to find clear explanations on those questions.
I guess it's all still foggy to me, so I hope anyone can help me out! Thanks!
Cloud use service model : IaaS (Infrastructure as a service) , PaaS(Platform as a service) , SaaS (Software as a service ).
Simple example that use cloud is : Microsoft Azure , Amazon's Ec2 , google drive
Cloud is only application that provide user infrastructure , platform or software online with user-defined requirement and is scalable . that is maintained and upgraded by cloud provider.
user have to pay only for what they are using.
Your Answers :
--> Is it just a website hosted by a huge datacenter?
A. No , it is not website. it is service that enable user to store data , work with software online.
--> Can I only access Cloud Application through a web browser then?
A. Most probably you can use through web browser.
--> Is it possible to have a desktop application 'running' in the cloud? If so, what kind of code is running in the cloud?
A. Yes , the applications that run on cloud also contain desktop application. E.g , word editor or photo editor is desktop application and if you need for your cloud that then cloud provider provide you that application for you.
I recommend you to take a look at the different service models that you could have on the cloud. Specially, I would read carefully the Infrastructure as a service (IaaS) and Platform as a service (PaaS) concepts.
Briefely, when you have your application and you would like to deploy it on the cloud you should choose between different models.
Iaas. Where you have an Infrastructure as a Service. It means that you a re renting a physical machine in a specific datacenter that you can choose. You have the possibility to install several Operative System where you can start installing, for example, your Tomcat Java container, your MySQL database. Please, note that you don't need any infrastructure on your end but you still need to install/configure/maintain all the software. This is the Amazon EC2 model.
PaaS. They provide a service on the top of an IaaS where you are renting an infrastructure but you have also a lot of services preconfigured so you DON'T need to install Tomcat, MySQL,.. You have Tomcat as a Service, MySQL as a Service, PostgreSQL as a Service. With this model you don't to install anything, you have your application and you just deploy your app on the container that you would like. You can take a look at this video which shows you on a graphical way how to deploy your application on a PaaS so you can see the differencen with an IaaS.

Local database storage for WinRT/Metro applications [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I am trying to find an API within WinRT that will allow me to create a local database that can be used to store data for an occasionally connected application. I am looking for something like SQL Compact Edition.
I have seen various messages on various boards indicating that there either
(a) will be no local databases whatsoever
(b) no local "server" databases (i.e. SQL Express type instances)
(c) A local database code named "Jet Blue".
Does anybody have a definitive answer to this? I do not want to start down this road if it is blocked.
SQLite is now officially supported. See Tim Heuer's blog for details. For simpler solution with less data you can use http://winrtdatabase.codeplex.com/
You might want to have a look at SQLite3-WinRT, a wrapper for SQLite that we wrote to use it in a Metro-style application. It contains a version of SQLite that uses only WinRT-compatible API, and a WinRT component to use it in C# and JavaScript apps.
There is no SQL CE available for Metro.
a) will be no local databases whatsoever
This is not true. SQLite should be able to run on WinRT. You can download the code here and include the two main files into your WinRT project. To compile and pass certification you will need to make sure you are using the correct WinRT replacement calls for the Win32 calls that are not supported. The 3rd party solution Bob mentioned is a WinRT wrapper it doesn't include changes to SQLite to pass certification.
(b) no local "server" databases (i.e. SQL Express type instances)
It seems unlikely there will be SQL Express for metro.
(c) A local database code named "Jet Blue".
If you mean Microsoft Jet Database engine, yes that seems to be supported but I would rather use SQLite.
Also remember if you are using HTML/JS you have the option of using IndexedDB
There is no (built in) database according to this
http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-930C
There are 3rd party solutions coming out or are already out. CodePlex has one -- http://sqlwinrt.codeplex.com/
The other option, which requires some work on your part, is to proxy your database access through a web service.
Do you really need a "store data for an occasionally connected application"? This sounds a little overkill to me. Why not serialize the data (various options) to storage yourself?

Hosting silverlight on a Java EE server - What are the pros and cons?

Are there any pitfalls to be aware of in deploying Silverlight files (XAP files) in a Java EE web application archive (war file) on Weblogic?
It works fine but seems a little unusual to do. For some achitecture related reasons, we are exploring this option for a project.
Until now, I have not myselft tried such an option, but I plan to use Silverlight with PHP in the future. It is not very different from Flash. You should however keep in mind that it is a Windows-oriented technology. Implementation on the Mac is supposedly the same as on windows however I find it much slower and much more fragile (it crashes A LOT while the windows counterpart never does). Implementation on Linux is FAR behind the Windows version.
Silverlight runs in the browser, so theoretically is as client-side as a JQuery script is. You can deploy it to any web server (apache eg: http://www.geoghana.com/blog/?p=53). You will be missing WCF and the integration between Silverlight and ASP.net, but this can be easily replaced with other technologies.
The thing that I am unsure about is the dev and debugging environment. This is probably the part you should investigate and test before committing. I am not sure whether you can debug your Silverlight app if it is integrated into a different web server (I doubt). You should especially find out how does Visual Studio development fit into your workflow and your tools... For example it may be that you need to develop it in IIS and only then deploy it to your webserver.

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

Free cross-platform tools for web development [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 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.

Resources