Archive for the ‘.NET’ Category
- In: .NET | Cloud
- Leave a Comment
Developers are in a unique position to educate and to capitalize on cloud opportunities. Unlike learning new programming techniques or Frameworks, cloud learning moves beyond development. There are infrastructure aspects to consider as well as potential organizational process and policy changes. However, developers know the application and cloud administration is a much lower bar, than, for example network administration. If you’re looking for a strategy to follow to cloud enlightenment; you’re reading the right article.
Give the Cloud a Whirl
When it comes to the cloud, don’t wait for the storm to hit you, but rather educate yourself; there is no substitute for experimentation and hands-on experience. Start by separating reality from marketing. Almost every cloud vendor offers a free trial. For example: Microsoft Azure offers a free trial. If you are truly new to cloud development; imagine borrowing a company server for 3 months; only there is no setup time. Just turn in on and away you go.
Given that experimentation time is limited; go for breadth rather than depth. Get a taste of everything. What most developers find is; after some initial orientation and learning the experience becomes what they already know. For example: Azure has an ASP.NET based hosting model called Web Roles. After configuring and learning Web Role instrumentation, the development experience is ASP.NET. Learning Azure Web Roles amounts to learning some new administration and configuration skills; coupled with a handful of new classes. The rest of what you need to know is nothing new if you’ve done ASP.NET!
Developer must keep their time constrained. Struggling for hours with something new is often not worth the effort. One should question wide adoption of something that will be difficult to work with. Cloud offerings are typically not niche or differentiating skills like, for example, SQL Server tuning.
Whatever cloud option a developer starts with; understand the authentication options. Intranet developers typically take authentication for granted. ASP.NET makes authentication look easy. Consider all the moving parts involved in making authentication automatic and secure. Understanding authentication is especially important if parts of an application will live within the organization’s datacenter and within the cloud provider.
Finally, look for the right opportunities to apply these new skills.
Navigating the Fog
Most developers are adept at picking when to jump on new technology and when to pull back. Unlike adopting, for example, a new Web Services approach; adopting a cloud option entails learning a little more administration. The cloud can give a developer total control, but the cost is learning a bit more administration.
Developers may find themselves in new territory here. Typically a “hardware person” selects a machine and a “network person” selects and configures a firewall. Cloud portals make network and server configuration easier, but the portal doesn’t eliminate the configuration role. The public cloud handles the hardware; but the developer must choose, for example, how many; CPUs, servers, and load balancers will be needed. This lowers the administration bar, but also might place the burden on the developer.
The cloud will not be the right option for every project. Give the cloud a fair chance. Decision makers may have two reactions to cloud; outright rejection or wild-eyed embrace. Neither reaction is healthy. There is middle-ground. Don’t let unrealistic expectations set by marketing brochures guide the first project. A developer’s experiences described earlier in the article will be helpful here. Set the bar low. Make the first experience a good experience.
Supplementing with the Cloud
One potential approach is to supplement with the cloud. Let the cloud handle some part of the application. For example: requirements may dictate a web page to handle user registration. Registrations often have deadlines and, given human nature, people often procrastinate. Registration traffic is likely to spike the week or a few days before the deadline. Rather than purchasing servers to accommodate the spike; leaving usage idle for most of the year, do registration in the cloud. Dial up more servers the week before registrations are due and dial the server could back down the week after registrations are due.
Aside from technical change; cloud adoption may require organizational change.
Clouds Don’t Work in a Vacuum
I would bet good money that most developers reading this article have no idea which ports in their organization are closed to incoming TCP/IP connections. However knowing who to ask is far more important than what is known. In some sense every organization is its own private cloud. Networking professionals have been connecting things together longer than developers. Internet performance is considerably different than Intranet performance. Cultivate relationships with whoever operates your Firewall.
Passing through a Firewall is overhead. Your organization’s infrastructure may not be cloud ready. Though if your network people banter about DMZs; chances are your organization’s infrastructure is probably cloud ready. As stated earlier authentication is important to cover; forcing users to authenticate multiple times within an application is intolerable to most users.
Budgeting for servers may be different than budgeting for compute cycles. There may be concern over whether compute cycles will amount to more than purchasing a server or two. There is no shortcut here. Just like any other budgeting a developer must do the math. Again, this may be new territory for developers. Typically developers aren’t asked how much storage an application requires. Typically the storage cost is spread throughout the projects an organization conducts. Budgeting difficulties may be a good reason not to do a project. The upside is; after doing the math a developer will likely find that costs are far below buying the hardware.
Conclusion
The cloud gives a developer control over all components from administration to assemblies. Added control comes with a price. A developer must venture into some new territory. This article provided a path to follow.
What is your opinion on cloud opportunities? Is it worth to give a trial? What is your personal experience in adopting a cloud option? Maybe you have some thoughts to share!
Kind regards,
Polina Mikhan – Business Development Manager (LI page)
Polina.Mikhan@altabel.com
Altabel Group – Professional Software Development
Open-source .Net CMSs overview: DotNetNuke, Kentico, Umbraco, N2, Orchard, Sitefinity
Posted on: January 15, 2013
- In: .NET | CMS | Open Source
- 1 Comment
ASP.NET seems to have more and more quality options regarding extensible content management systems with each passing year. Depending on your needs, there are excellent options available both with commercial licenses or open source code.
In our blog, we have already tried to gather information about PHP and Java web frameworks, and in this article I`m going to present you a list of open-source CMS for .Net that, in our opinion, are worth taking a look at.
DotNetNuke (DNN for short)
If you are looking for something stable, DDN will be the answer. This CMS has been around for a while and DNN is probably the most well known and popular of all the .NET CMSs presented in my list. It`s is a web content management platform used to quickly develop and deploy interactive and dynamic web sites, intranets, extranets and web applications. It`s available in a free Community and subscription-based Professional, Elite and Elite Premier Editions. Community edition contains most of the features which comprise the other editions, but the support is left up to the community. The Professional Edition gives you support from the DotNetNuke Corporation along with a few more features, and for a (much) increased price, the Enterprise Edition gives you a few more features along with phone support.
Kentico
Another Asp.net based CMS offering multiple licensing options is the Kentico CMS. The free license requires you to keep the logo and copyright information on your page, but the commercial versions offer support and allow you to work without the branding. This CMS allows building dynamic web sites, online shopping carts, intranets and web 2.0 community sites. Kentico CMS is designed to be easy to use for even novice users, so web development should go fast with someone who is experienced. It has powerful content editing interface – Kentico CMS Desk, which allows a user to edit content and preview it before publishing, also it`s easy to organize content into a tree hierarchy of documents (pages). The hierarchy (content tree) represents the site map and the navigation structure.
Umbraco
Umbraco CMS is free and open source Web CMS built on the Microsoft .NET Framework. It provides a full-featured web content management system that is easy to use, simple to customize and robust enough to run the largest sites such as wired.co.uk and asp.net. Umbraco CMS has recently become very popular with designers and web developers due to the open templating system and ability to build in guidelines that automatically format the content writers provide. Also, it uses ASP .NET “master pages” and XSLT, so there is no necessity to work with a heaped-together templating format. It’s written in C# and is happy to work with a variety of databases, so hosting shouldn’t be a problem.
N2 CMS
N2 CMS is an open source lightweight CMS to create simple and user friendly website. N2 CMS contains a package of functional templates with News, Wiki, Photo Galleries, FAQs, RSS, Data Entry, Polls and more. Features include full control of content and nodes, drag&drop, versioning, wizards, export/import, security, globalization and more.
Orchard
Orchard CMS is Microsoft’s hand in the open source world. It`s community focused and is supported by full-time developers from Microsoft, that develop components and scripts that are open tools for developers to create applications. With the help of Orchard CMSO, it`s possible to create content-driven Websites. While this CMS may be a bit slow and some of the things you’d expect in a more robust CMS might be missing, there’s several fantastic back-end features and it`s a CMS that is worth considering when choosing a technology for your project.
Sitefinity
Sitefinity is the most modern .NET web content management platform available on the market today. It offers many enterprise features, and simple, easy-to-use online administration tools for managing your website. The new revolutionary User Interface is very task oriented and simplifies the user interaction with the system. Sitefinity has 6 available license editions ranging from free for personal use, to $499 for small businesses, and custom pricing for the Enterprise and Multi-Site Editions. Currently Sitefinity is responsible for powering thousands of websites. Some of their most prominent government websites include: The White House Federal Credit Union, United States Courts, Downtown Fort Worth, and the Canadian Securities Transition Office. Other customers include: Toyota, Vogue, IKEA, Chevron, Bayer, and Coca-Cola.
Certainly the list of CMSs can go further and further and every CMS has its advantages and disadvantages. I`ll highly appreciate if your share your opinions and experience on using these CMSs and adding your favourite CMSs to the list.
Kind regards,
Anna Kozik – Business Development Manager (LI page)
Anna.Kozik@altabel.com
Altabel Group – Professional Software Development
- In: .NET | Web
- 3 Comments
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
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
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
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
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
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!
Kind regards,
Yuliya Tolkach – Business Development Manager (LI page)
Yulia.Tolkach@altabel.com
Altabel Group – Professional Software Development
- In: .NET | Windows
- Leave a Comment
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
Since Microsoft is making it clear that Windows 8 is their ideal platform for tablet apps, the bigger question developers must answer is how to develop tablet apps. Tablet apps can be built with either XAML/.NET or HTML/JavaScript. Both approaches have access to the full capabilities of the device and share a common Windows Runtime API. However the primaly recommend and focus on XAML and.NET. High-performance games may be developed using Direct X.
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.
Kind regards,
Anna Kozik – Business Development Manager (LI page)
Anna.Kozik@altabel.com
Altabel Group – Professional Software Development
- In: .NET | PHP
- 2 Comments
Before you read the article I would like to notice that it’s just a subjenctive opinion
So, what is PHP4 and ASP.Net? ASP.NET – is not a continuation of ASP, but is conceptually a new Microsoft technology, created as part of ideology. NET. Key stakeholders of .NET are scalability, cross-language interaction and shaky concept of “safe programming”.
PHP is conversely an open and free technology. Of course, it would be wrong to decipher PHP as Personal Home Page today, but we still can hear echoes from the past to these days. PHP is a scripting language, created exclusively for dynamic HTML output. This does not mean that it is impossible to create a major project, this means that a large project for PHP is expensive and difficult.
Programming in PHP does not require an expensive programming environment. It would be enough a textbook to learn how to write more or less workable scripts. But it doesn’t work with ASP.NET. There is nothing to do without Visual Studio, MSDN and sometimes access to internet. Most part of time anovice developer spends on studying MSDN. By that time when he have learnt heaped model of classes and all the necessary functions, Microsoft probably will come up with something new. But if you could learn it…
Using ASP.NET with Visual Studio it looks like to work with Delphi. The main languages in which applications written in ASP.NET are Visual Basic.NET and C #, respectively, are the heirs Visual Basic и Java/C++.Theoretically, under ASP.NET, you can write programs in any language for which there is a corresponding compiler. However, in practice, to create ASP.NETapplications are mainly used Visual Basic.NET and C #. “Native” environment of ASP.NET is IIS, running Windows. And yes, IIS is not known as the most stable web server, and Windows – is not the most stable operating system.
ASP.NET does not suit for small projects, and even more – for a few triggered groups that do not require precise control. The causes are many – from the high cost of the platform and ending with the complexity of the model classes.NET. When you collide with .Net you could think who could understand and learn it all? But then you understand – nobody. The credo of .Net is not to go to own business, write your module, learn its functions, know your place – this principle works fine in the collective .
In the ideology of Microsoft a programmer is a small cog in a well-established mechanism, singles have never been considered. Thus large projects accrue for .Net.
Thus there are no places for PHP programmers in such projects. Why? Because they will require a lot of coordinators, who must be paid. Most part of coordination in .Net takes over itself. PHP technology is fundamentally different from ASP.NET. PHP resembles a mixture of C and Perl with a little spice of Basic and Pascal. But ASP.Net looks like a classic
PHP4 trusts developers so much and there are no types, to declare variables is not necessary. PHP syntax is made for a quick and simple solution of common problems. The entire responsibility of dangerous stunts belongs to the programmer, what in particular leads to the widespread phenomenon, as the discovering of serious errors in the code one month after delivery of the project. The sphere of PHP is not large, it is small projects, which developed by either one specialist or a closely work group . As PHP is free the language has become an ideal choice for SMB or copyrights
Speed. Theoretically, ASP.NET must run faster as we deal with once compiled binary code, whereas PHP-scripts are re-processed each time. However, PHP work on IIS and Apache with a great load (although artificially induced) and always produces better results than ASP.NET even better then .ASP classic.The ligament PHP + MySQL + Apache works better and faster than ASP.NET + IIS + Microsoft SQL Server 2000.
Does it mean that ASP.NET is worse? I don’t think so. The speed is assured that all PHP applications run in a single address space, when ASP.NET checks and double checks the data repeatedly, keeping each application in a separate address space.The first pproach is faster but less reliable, the second – is more reliable, but there is a price. Unfortunately miracles do not happen L.
About work . Briefly describe the feeling to work with PHP it is constant process of debugging this is to the fact that the language contributes serious logical errors.
Even primitive typo (highlighted in red) leads to a logical error, which would not be in C# in principle. In general, there is not any declaration of variables in PHP, which is a big minus.
Also as a rule, updating version of PHP on the server is a headache for customers and programmers. Sometimes it is very difficult to find a mistake, especially if it appears only under certain circumstances, so that it could be never revealed to the delivery of the project. It is strength and weakness of PHP. When you plan in C# and write different classes , interfaces for collections to create a page in one fell swoop for ten minutes then. In PHP you could create the page several. Still every next page is created in 10 mins on ASP.Net when in PHP you would spend the same time again and again.. If you need to change smth on the page visually, you would need 5 mins in ASP.Net, but in PHP you would need look for and change HTML.
Thus small and medium projects are fate for small groups of PHP programmers; when medium and medium and large – the inheritance of large groups, using products of Microsoft, and giant projects share between HP, IBM, Sun, Oracle, and prices are too higher, but this is another story J
Thus in conclusion I would like to notice at the beginning pace of ASP.Net development should fall sharply, then grow steadily and eventually stop at a certain level, whereas the opposite is true in PHP.
Thank you for your attention!
Kind regards,
Elvira Golyak – Business Development Manager (LI page)
Elvira.Golyak@altabel.com | Skype ID: elviragolyak
Altabel Group – Professional Software Development