Archive for October 2012
When a developer faces the necessity of creating a web application using Microsoft.Net, he/she needs to choose which .Net framework to choose. Then the question arises: which one is the best one?
In this article a general outline of best ASP.Net Web Application Frameworks is given with the focus on their positive sides. Let’s start.
ASP.NET MVC is a part of the ASP.NET Web application framework. It is one of the two different programming models you can use to create ASP.NET Web applications, the other being ASP.NET Web Forms.
ASP.NET MVC brings the power of this development paradigm to ASP.NET development, allowing you to use your .NET development skills to create MVC applications.
It gives you total control over your HTML Markup as well as enables rich AJAX and jQuery integration. It also allows you to create SEO-friendly URLs for your site and makes Test Driven Development (TDD) easy. Besides, it enables a perfect and clean separation of bugs and concerns, helps in creating and building dynamic websites and web application that are rich in user interface.
DotNetNuke is a free, open source and easy to use application that is particularly based on web content management system along with web application framework which comes and is working perfectly with Microsoft .NET platform.
DotNetNuke is developed on the powerful Microsoft .NET platform – Windows server, IIS, SQL Server 2000, and ASP.NET (VB and C#). It can run on almost any database server, as long as someone has created the necessary provider (third-party providers include Oracle and mySQL). The flexible technical requirements make it possible to install and evaluate DotNetNuke on almost any computer.
DotNetNuke is offered under a nonrestrictive BSD License, a standard open source license that allows for full usage in both commercial and noncommercial environments. The BSD, well-documented ASP.NET source code, an active developer community, and a modular architecture make it possible to customize DotNetNuke and leverage it as a mature Web Application Framework. For end users, all DotNetNuke requires is a Web browser and an Internet connection.
OpenRasta is an open source development framework targeting the Microsoft .NET platform for building web-based applications and services. OpenRasta framework has been released under Open-Source MIT License which mainly focus on various HTTP methods as well as on development of available resources. With the help of this, user can now create user friendly Web Interface by its web application framework.
OpenRasta however does have many MVC features and can serve as a full-fledge web application framework.
OpenRasta’s strengths lie in it’s comprehensiveness, wide range of features, active development and support community plus good documentation. OpenRasta’s weaknesses are similar to other frameworks in that is not as approachable as Web Forms and is intended for experienced developers. Hosting of an application built on OpenRasta is available through ASP.NET, in-memory, in-process through Windows’ HTTP APIs, or through any other environment able to receive HTTP requests, as the framework itself has no dependency on ASP.NET.
MonoRail is an Asp.net MVC based web application framework which has been inspired and designed from Action Pack. This tool offers completely different approach towards development of application towards standard WebForms way of development.
It also enforces handling application flow, separation of concerns, troubleshooting, model representation as well as viewing the application from the presentation logic point of view. This also means that your will have to write less code and result would be more maintainable application.
CSLA.net is an Asp.net MVC based web application framework that is particularly used for development purpose. It allows you to design and develop applications for various kind of services like for Windows, Web, service-oriented and also for work-flow applications. One of the best advantage of using this tool is that it reduces the cost of developing, building as well as maintaining applications.
It performs various action of collecting data and storing them into the database application along worth creating user friendly interface. This is one of the most widely used framework which allows developers to use the power of object oriented design which will result out in developing powerful web applications.
Thanks for your attention 🙂 Hopefully, this article was informative and useful for anyone who read it. And do you have any comments? Looking forward to hear your opinion on best ASP.NET Web Application Frameworks!
Go-To Prescriptive Guidance for .NET Developers Building on Windows 8, Windows Phone 8 and HTML5
Telerik, a market-leading provider of end-to-end solutions for application development, automated testing, agile project management, reporting, and content management across all major Microsoft development platforms, has recently released “Platform Guidance for Microsoft.NET”. And , you know, it worth reading. It has been shared hundreds of times socially and is at the top of the list for Google searches. This document is easy to read and it highlights best practices and tips for .NET developers looking to leverage the latest Microsoft technologies. The advice is spot-on, and although somewhat basic, still worth your time.
I`d like to present a short overview of it. The goal of the document is to provide clear, direct guidance when picking a .NET platform. Platforms are suggested based on their ability to provide the most benefit for specific application scenarios relative to other .NET options. Platforms discussed within the guidance document include:
· Desktop Applications -WPF
WPF is still the choice for rich, beefy, custom Windows apps. However noticeable fact is that it wasn’t recommended for any of the other five scenarios. It’s comforting to hear that Silverlight is still a recommended technology however with some caution: Silverlight is also a good candidate for building desktop apps, sharing many of the same characteristics of WPF. While it seems clear that Microsoft will not release a major version beyond the recently released Silverlight 5.
· Dashboard/Reporting Applications – ASP.NET MVC with HTML5
Combination of ASP.NET MVC and HTML5 may be an ideal variant to maximize reach: ASP.NET MVC with HTML5 can give developers the power to build applications that are usable on any PC or mobile device. As we see HTML5 has surrounded us: assimilate or die J
WinForms can be a viable alternative for applications that do not need the power and richness of HTML5 or XAML
· Data-Driven Websites – ASP.NET MVC and Web API
ASP.NET MVC provides developers with maximum control over website rendering and helps to maximize performance.
· Interactive Web Applications (Forms over Data) – ASP.NET WebForms
In this case Telerik suggests using ASP.NET WebForms. It`s the most mature ASP.NET variant and it`s the fastest way to build “desktop-like” rich application with web technologies.
· Mobile Website – ASP.NET MVC HTML5
ASP.NET MVC with HTML5 is considered to be an ideal choice for mobile websites: HTML5 helps mobile websites deliver more functionality in a single view and ASP.NET MVC, with its highly configurable views, provides the simplest path for delivering HTML5 to devices.
· Tablet Applications – XAML and .NET
When this document was published Windows 8 was still in pre-beta and it didn’t get any recommendations; Telerik said it will update the document in time to reflect that. Also they promised to dwell on mobile development later.
Those were the recommendations from Telerik. And what are you personal recommendation regarding the choice of correct .NET technologies for a project?
Look forward to you comments.
The necessity for companies and developers to market and promote their individual applications has never been more important than ever, and is often absolutely crucial to an app’s success.
Now we have absolutely different situation we have a flooded App Store with various applications and an imposing mass of competition. With more than 300 apps being released on a daily basis, it is much more difficult to gain free press at niche websites as well as make it into the Top 100 charts. This is where the practices of marketing and advertising are absolutely essential to survive in the App Store.
To begin with you should be ready with your precise plan of your further action. Your plan of attack should really begin before you even open Xcode. As with any other business model, you must cover all grounds including research, design, artwork and branding, coding and hardware, and advertising and marketing.
Pre Launch marketing
Building a buzz around your app and allowing users to become aware of it’s release will add to the success of an application. You can do this promotion and marketing yourself through iPhone forums, social networking platforms such as Twitter, Facebook and LinkedIn, and creating individual web pages dedicated to the application itself.
Aside from word of mouth promotions, pre-launch hype also begins with advertisement campaigns and website takeovers. Nothing is better than having your application branded across a website for a certain amount of time. Other ways to gain recognition are Press Releases, demonstration videos on YouTube, and user reviews.
App Launching on AppStore
So you have your ready iOS application and the next step you would like to begin with is to upload it to the AppStore and start its promotion there. Below some tips how to make it in a better way.
Here I would like to highlite that this is the most important part of your iPhone marketing mix. Most people look for cool new apps either on their iPhone/iPad, or through iTunes. Why? It’s the most convenient! That’s why it is so important for iOS application developers to focus on app in-store appearance most. When I use term “in-store appearance” I mean the following components:
App name should be concise enough to attract attention, but should also contain the most important keywords. It is one of the most important factors in search result ranking within the App Store.
Customer Reviews & Ratings it is important to make sure that your application doesn’t look like noone’s ever downloaded it. No reviews, no downloads in the eyes of iTunes users.
iPhone App Marketing Services allow you to build a positive image for your app and attract more downloads across different country app stores.
Colorful and interesting screenshots – Important factor in relaying info about your app. Great screenshots make users be interested in further downloading of the app and trying it in the action.
App description – it is make sense from a search result perspective. Should start with a bullet point list of important features, followed by a text description
Also one more thing we should pay attention to is Application Icon. Make sure that you have an attractive and eye-catching app icon that best represents and sells your application to the user. If your application icon lacks any attention, your product branding awareness is doomed from the start.
There are some smaller ways to gain attention across the net and within the App Store. So you can cause your app to jump back into the “new” charts by changing the release date of the app to the date at which your update was approved, which allows your app to be released in the next batch of updates that hit the App Store.
Also one more great idea is to offer “lite” versions of your application, especially if they are higher priced. It will offer not only free promotion but if the user is impressed enough, they’ll spring for the full version. Think “try before you buy”. Make sure the lite version includes a majority of the features offered in the full version, otherwise a user will move on and you potentially lost a buck to begin with.
This is some of the basic tools covering the first steps you need to do while promoting your application on the AppStore. For sure using AppStore as a core tool to promote the application is not the only variant but at the same time this is the most important playground for further application promotion campaign.
So my questions is what any methods/approaches do you use to promote your application on the AppStore? How do you promote your apps?
Please feel free to share your comments and opinions.
Business Development Manager
Professional Software Development
Steve Jobs wasn’t a fan of Android. He thought it was a rip-off of the iPhone. He saw the iPhone as a ground-breaker and Android as an attempt by Google and a consortium of device manufacturers to bring a similar product to a wider market. He famously told his biographer Walter Isaacson that he would “spend my last dying breath if I need to” and “every penny of Apple’s $40bn in the bank” to right the perceived wrong done to Apple by Google. “I’m going to destroy Android,” he pronounced, “because it’s a stolen product…” Jobs’ quest led indirectly to the decision of a US court to award Apple $1bn in damages, and to place an injunction on Samsung distributing some of its product in the US.
But Android had been under development since 2003 and was purchased by Google in 2005, two years before the advent of the iPhone. Granted, its later development was undoubtedly influenced by the range of features incorporated in the iPhone, and the potential and scope of Nokia’s Maemo project.
Theft is an emotional concept and technology is a complex proving ground. The iPhone is an elegant synthesis of intricate ideas and technologies that had gone before, many of them originally developed, patented and supplied by companies such as Samsung and Motorola – now owned by Google. Smartphones and touchpads existed before the iPhone.
Samsung says it has spent billions on research into mobile technologies over the past 25 years and noted in its own submissions to the court that “the flash memory, main memory, and application processor for the iPhone” are supplied by Samsung. It said “also manufactures Apple’s A5X processor and is the sole supplier of the Retina display used in the new iPad”. It also initiated many of the wireless standards and technologies that make it possible for an iPhone to talk to other phones.
Apple’s distinctive contribution has been collation and design, derived from an understanding of why and how a Smartphone could and would be useful and attractive to an end user, and which features would enhance that effect. The iPod, iPhone and iPad are instantly recognizable for their cleanliness and simplicity – and the software is focused on simplifying the tasks of the end user.
Apple’s talent has been to transform utility into an art form, to reduce apparent complexity and anticipate the wants of the user. By collating the possibilities of the Smartphone, and pulling together the virtues of design and utility, Apple has lifted the concept of smart devices to browse the web from geek heaven into user space, which makes it all the more surprising how little attention other device and computer manufacturers have paid to the role of design in selling hardware.
But the bigger issue isn’t copying, or imitation, but the broken nature of the patent and so-called intellectual property industries. In an industry where last year’s must-have is already out of date, there is something obscene about a court case that involves, among other things, a dispute about patents and design registrations such as the one “for overall design of the product, including the rectangular shape, the rounded corners, the silver edges, the black face, and the display of 16 colorful icons”. Or the one “for the configuration of a rectangular handheld mobile digital electronic device with rounded corners”. These are not technological or design innovations.
The decision of the court to punish Samsung for its intrusion into the markets Apple considers its own, and in the words of Samsung’s press release “to give one company a monopoly over rectangles with rounded corners, or technology that is being improved every day by Samsung and other companies” is symptomatic of the ongoing crisis in the creative and technological industries.
The decision against Samsung is just the latest event in the war. It is bad news for everybody, not least the users and developers of Android and the iPhone, as each of these companies scrambles to buy up the ownership of patents. As Google’s chief legal officer, David Drummond, put it last year: “A Smartphone might involve as many as 250,000 largely questionable patent claims, and our competitors want to impose a tax for these dubious patents that makes Android devices more expensive for consumers. They want to make it harder for manufacturers to sell Android devices. Instead of competing by building new features or devices, they are fighting through litigation.”
And what do you think? Are you on Apple side or Samsung?
Java has been around for a while. Soon after its initial inception, Sun started to push the platform towards the web. Now many years later, there are dozens of web frameworks and every now and then the same question pops up: which Java web framework is best.
No framework is perfect, they all have their merits and they all have their breaking points. There is not a single web framework out there that will work for all requirements out there, still there could be found arguments why one framework is better than others and for what types of applications. So let’s have a look at most viable Java web frameworks:
Servlets and JSPs
Some developers say that JSP technology is seriously outdated, while others see it from a little other point of view. The fact of the matter is that Servlets and JSPs do nothing for you – you do everything including mapping request parameters to objects and validating them.
Even with a big variety of frameworks out there, there is still a place for Servlets & JSPs. Smaller web applications are still quickly and cleanly built using them and you don’t need any external dependencies either. The only side note is that you do it properly, which means using Servlets to invoke business logic, using JSPs to generate the view and having JSPs contain no Java code, only JSTL tags and if you want custom tags.
Pros: good for a few pages/functions to implement
Some hate it, some love it. The main reason most people hate it is its steep learning curve and the fact that people use it for all the wrong purposes. Speaking of the right purpose, JSF is primarily aimed at being used to build web components for enterprise applications. It is excellent for creating complex user interfaces as the framework takes care of wiring UI components to backend classes with automated validation and transformations going on. Due to its stateful nature you even have an object representation of the web UI available to you server side.
JSF itself is only the base actually. It is designed to be extended, and many third parties do just that. On top of JSF you also have JBoss, Richfaces, Icefaces, Primefaces, Oracle ADF, Apache Tomahawk, JBoss Seam, Omnifaces, etc. They all share the fact that they extend core JSF with more functionality, which usually comes in the form of Ajax controlled “rich internet components”. Jboss Seam is unique in that list as it does not actually aim to extend, but “seamlessly wire together” many frameworks and technologies to the enterprise platform.
Pros: Good for medium to complex enteprise webapps where full control over the front end is not a requirement. If the application is built and designed around a solid backend, JSF 2.1 is your friend.
Cons: Not an easy material. JSF is hard, and there isn’t rich online documentation. If your application aims around a rich and dynamic web 2.0 front end, JSF is not your friend.
Spring framework is not quite a ‘web framework’, but it is unique. IT shares JBoss Seam’s aim in wiring together many different technologies, both frontend and backend. You can use it as an alternative to Java Enterprise Edition technology, but you are just as free to wire Spring and JEE technologies into the same application.
So what does Spring offer itself? A bunch! It has a bean autowiring system to replace (or extend) the dependency injection model as it exists in the JEE specification. It also has an incredibly strong security model. Additionally instead of manually constructing objects, you “inject” them from a Spring managed context. Next Spring has a strong emphasis on the Model View Controller pattern. Spring provides default controller types for example, but you can also implement your own. As for the model layer the framework can setup JDBC, Hibernate, JPA, etc. for you and it can even manage the sessions and transactions. And finally it offers a built in web front end framework with easy to use annotations. I guess there is much more to add to this.
Pros: Excellent for building and maintaining large enterprise applications that also target other legacy systems and technologies. Spring is so flexible you’ll have the least trouble adapting it to whatever you already have floating around. Also there is a huge community around Spring.
Cons: Clunky due to its hugeness. There is also a big amount of legacy that the framework has to drag around.
Struts 2 is actually quite a clean and neat framework. If all you want to do is create simple web applications, “web 2.0” or otherwise, then it isn’t a bad idea at all to consider Struts 2. But it has limitations. The security model is weak. In this world of web heightened security demands, the framework does nothing to assist you or to help you prevent doing it wrong.
Pros: Good for web applications that do not have high security demands but will be a mix of complex forms and dynamic frontend pages. Low learning curve.
Cons: Weak security
Wicket is also friendly to the developer. It integrates nicely into IDEs and even has built in support for hot-deployment making it far easier to change and debug your applications. Also boring and cumbersome features like making your application multilingual is made incredibly easy.
Pros: Wicket can handle most webapp needs including those that are oriented on the back-end and those that are oriented on the front-end.
Cons: Weak documentation (including the books); the alternative API design.
GWT offers incredibly powerful browser user interface capabilities; using it you can create the coolest web front ends with relatively little work. Google creates most of its own online web services using GWT.
On top of GWT itself Google also provides you a wide range of tools, for example a rich set of plugins for Eclipse. This makes it a complete package that is completely carried by Google itself. This keeps it all tightly integrated and documented, which is a big plus for a web framework.
Pros: Good to create highly complex and feature rich web user interfaces
Cons: The framework is different from any other framework out there. When you want to use it you start from scratch, so it may make it hard to adopt it for a new project.
This framework is relatively young. It lays down the rules, brings the conventions and provides you the foundation to allow you to quickly and painlessly develop web applications, without boilerplate, dependency conflicts or layer upon layer of configuration.
This framework can utilize the benefits of the Scala language (but it is also built for the Java language). The same is true for Play 2.0 which is out right now, and more so. This is mostly because the framework is modeled almost entirely after Ruby on Rails 3 including the available tooling.
Pros: stripping away the boring part of Java web development; being completely stateless and Rest-enabled; providing perfect hot-deployment without need for JRebel or JPA entities; integrates with many popular and important web technologies; manages dependencies for you without needing to learn the complexities of Maven; consolidates web dev into a neat package; incredibly easy ORM model based on Hibernate and JPA 2.0, with an additional layer that takes away the cumbersomeness.
Cons: The programming model is quite counter-intuitive; navigation is based on throwing exceptions. deploying is a bit of a mess using Play as you don’t deploy classes, you deploy the source files. The (alternative) way you manage a Play project makes it difficult to integrate it in for example a JEE application in a way that is easy to maintain.
For sure there are many, many more frameworks to be discussed, but most of them serve the same purpose. Could you pass out your personal recommendation what frameworks is better to use and for what types of application?
Thanks a lot in advance for sharing your advice!
The early days of video –gaming seems to be gone away. Video games companies offer their game players new graphics and playing options to get what they want and to make better choices.
So Cloud gaming seems to be one of the recent openings and growing trends in the gaming industry. Lately gamers had to choose which game platform to buy: console, PC or portable device. Until now. Thanks to cloud gaming service the gamers can play freely through the cloud on any displays, including TVs, monitors, laptops, tablets, and even smartphones.
But what actually is cloud gaming?
Cloud gaming is a form of online games that uses a cloud provider for streaming. Its means that like all online games whether it is multiplayer games, Xbox or PlayStation cloud games as well need network connection and console to be played. However instead of having a playable copy of the game you download the game itself from the cloud service and stream it instantly.
The main advantages of cloud gaming are:
1. Instantly playable games in your browser. Cloud computing games allows the game to be streamed instantly and be played in a seconds.
2. No need of any installations. All games are stored on a cloud service, so there is no need to download and install them on the hard drive.
3. No specific hardware required. Game content isn’t stored on the user’s machine and game code execution occurs primarily at the server so it allows you to run almost all modern games even on a less powerful computer. Your computer necessarily requires only the ability to play HD-video (720p) and an Internet connection at a speed of 5 Mbit / s with low latency.
The negative effects go beyond the positive benefits and features. So let’s see what they are:
1. The main disadvantage of cloud gaming at the moment is the internet. It requires a reliable and fast internet connection to stream the game and play to your TV or monitor at home. Without a decent connection, it can make games look slow and unplayable.
2. Second hand market. There is a large amount of people who buy second-hand games. Once you completed your title, people generally trade in their old game for a new one. With Cloud gaming, you never own a physical copy making the whole process of trading in your old game for a new one redundant.
Gaikai and onLive
Currently there are two growing cloud projects launched from 2009- 2010 OnLive Game Service and Gaikai,game platforms which breathed new life into video game development.
OnLive is available on different devices: TV consoles, tablets, PCs, Mac OS, smartphones. On the official web site/store www.onlive.com the games could be purchased, rented and be downloaded as a free trial as well.Besides for 100$ you can buy box OnLive Game System, by which cloud game can run even on your TV. And the games also could be played on your tablet or on your smartphone from your PC, Mac or TV via Wireless Controller OnLive for the cost of 50$.
OnLive also provides worldwide interactive playing it means that you could share your playing with other players on the spectating Arena, share your best video moments instantly on Facebook or talk with the players with Voice Chat.
Alternatively, GAIKAI www.gaikai.com, which unlike OnLive, is a cloud-based gaming service that allows users to play high-end PC and console games via the cloud and instantly demo games and applications from a webpage or internet-connected device.Library of games from a service GAIKAI is not too big, but it has a number of popular projects that are not in OnLive, for example: FIFA 12, Bulletstorm, Crysis 2, Dead Space 2, Dragon Age 2 and others.
The benefit of Gaikai’s service is that the company isn’t limited to gaming. The company is actively soliciting streaming partners to utilize Gaikai’s infrastructure, servers, and platform.
On July 2, 2012, Sony Computer Entertainment invested $380 million USD with plans of establishing their own new cloud-based gaming service.
Betting on the future?
Is cloud gaming the future? The media companies like Sony, Gaikai and OnLive think certainly so, as they invest in its development and promotion. At the same time the gamers are still doubtful on the game quality and prefer playing on consoles than on cloud. The main problems/uncertainties that gamers point are mostly connected to the buying habit and staying online playing. The question with the internet connection seemed to be decided with cable providers like AT&T, Verizon, Time Warner, and Comcast that are planning to enter the cloud-gaming space, debuting their services as early as next year.Last thing needs to overcome is the dependence of physical owning.
So maybe if these downsides could be materialized in the benefits it will help to point the biggest skeptics out, and make them believers.
Thank you for your attention and feel free to leave your comments and share your thoughts/experience at this point!
Business Development Manager
Professional Software Development