Posts Tagged ‘Java’
For almost 15 years ASP.NET has been one of the best web development technologies and many developers consider it to be the best offering from Microsoft. ASP.Net evolves to bring in better features and functionality, which helps businesses scale better. Each year developers see few new trends that enhances development and shortens the time-to-market the solution. Here we will discuss a few trends that will benefit both developers and businesses indulging in ASP.Net.
Let’s have a glimpse at it benefits.
Data Flow in One Direction – Properties are passed to component to render HTML tags. Component itself cannot change the property; instead, it requires a callback function to modify the property values.
Easy to Integrate – React can be simply integrated with other tools or frameworks like Jest, Angular.js or Backbone.js.
Xamarin is highly popular mobile development framework with the rule write-once-run-everywhere coding for three leading mobile platforms: Windows, Android and iOS. It empowers developers to write in a single language on a single code base for their app to reach over billions of smart devices irrespective of the platform. Xamarin delivers perfect look and feel of any given platform’s native UI with power-packed functionality and native app performance. Xamarin eliminates the need to manage separate development teams or having to choose one platform over another.
Following are few more benefits of Xamarin:
Xamarin uses the C# programming language
C# is capable of doing anything you could do in Java, Objective-C, and Swift – and it works on platforms that use any of these. Most applications can share 75% or more of their coding, helping to make development on multiple platforms easier than ever before. Many functions unique to each device are mapped at runtime to correspond to that specific device, resulting in an end-user experience that works the way they expect it to work.
Xamarin can import and convert existing code
Do you have existing Objective-C or Java code? Xamarin uses an automatic binding generator to match code like custom controls and frameworks to your new app, and a little bit of testing is usually enough to fix any glitches that occur. By importing your existing code, you can hit the ground running and reduce the time it will take to roll out your improved app.
Xamarin offers same-day support for new OS releases
One of the biggest problems with apps is updating them when a new operating system comes out. These changes can cause major disruptions in the way some functions work, but this particular developer has been able to offer same-day updates that allow you to start taking advantage of new features and capabilities. These updates also mean that you can deal with any major disruptions to your app and get it back up and running if anyone was broken – your business can’t afford to have its tools stuck in limbo, and working with a company offering active support is one of the best ways of ensuring your investment won’t be lost at a crucial time.
Elasticsearch is the most popular enterprise search engine followed by Apache Solr based on Lucene. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. Elastic search was first released in February 2010, and is a free and open source distributed inverted index created by Shay Banon. It is developed in Java, so it is a cross-platform.
Below you can find major highlights of Elastic Search:
Real-Time Data Analysis – All data is immediately made available for search and analytics.
Distributed approach – Indices can be divided into shards, with each shard able to have any number of replicas. Routing and rebalancing operations are done automatically when new documents are added.
Multi-Tenancy – Multiple indices can be maintained by single cluster and can execute queries individually or as a group. Also, maintain alias of indices and keep them updated.
Full-Text Search – Elastic Search implements a lot of features: customized splitting text into words, customized stemming, facetted search, and more. Powerful, developer-friendly query API supports multilingual search, geolocation, contextual did-you-mean suggestions, autocomplete, and result snippets.
Easy-To-Use RESTful API – Elastic Search is API driven; actions can be performed using a simple Restful API.
Open Source – Elasticsearch is available freely, under the most adoptable and trusted open source license of Apache 2.
In addition, the Microservices, Azure, and AngularJS are also trending in Asp .Net. Nowadays, enterprise applications are in high demand, and these tools are playing a key role to hit the ground and running.
Thanks for reading!
Business Development Manager | LI Profile
Introducing ASP.NET Core:
ASP.NET Core is a new open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. ASP.NET Core is open source at GitHub.
The framework is a complete rewrite that unites the previously separate ASP.NET MVC and Web API into a single programming model.
Despite being a new framework, built on a new web stack, it does have a high degree of concept compatibility with ASP.NET MVC.
ASP.NET Platform exists for more than 15 years. In addition, at the time of System.Web creation it contained a large amount of code to support backward compatibility with classic ASP. During this time, the platform has accumulated a sufficient amount of code that is simply no longer needed and is deprecated. Microsoft faced a difficult choice: to abandon backward compatibility, or to announce a new platform. They chose the second option. At the same time, they would have to abandon the existing runtime. Microsoft has always been a company focused on creation and launch on Windows. ASP.NET was no exception. Now the situation has changed: Azure and Linux occupied an important place in the company’s strategy.
The ASP.NET Core is poised to replace ASP.NET in its current form. So should you switch to ASP.NET Core now?
ASP.NET Core is not just a new version. It is a completely new platform, the change of epochs. Switching to ASP.NET Core can bring many benefits: compact code, better performance and scalability. But what price will be paid in return, how much code will have to be rewritten?
.NET Core contains many components, which we are used to deal with. Forget System.Web, Web Forms, Transaction Scope, WPF, Win Forms. They no longer exist. For simple ASP.NET MVC-applications changes will be minor and the migration will be simple. For more complex applications, which use a great number of .NET Framework classes and ASP.NET pipeline situation is more complicated. Something may work and something may not. Some part of the code will have to be rewritten from scratch. Additional problems may be caused by WebApi, because ASP.NET MVC subsystems and WebAPI are now combined. Many libraries and nuget-packages are not ready yet. So, some applications simply will not have a chance to migrate until new versions of the libraries appear.
I think we are waiting for the situation similar to the transition from Web Forms to ASP.NET MVC. ASP.NET Framework will be supported for a long time. First, only a small amount of applications will be developed on ASP.NET Core. Their number will increase, but sooner or later everyone will want to move to ASP.NET Core. We still have many applications running on the Web Forms. However, no one comes to mind to develop a new application on the Web Forms now, everybody chooses MVC. Soon the same happens to ASP.NET Framework, and ASP.NET Core. ASP.NET Core offers more opportunities to meet modern design standards.
The following characteristics best define .NET Core:
- Flexible deployment: Can be included in your app or installed side-by-side user- or machine-wide.
- Cross-platform: Runs on Windows, macOS and Linux; can be ported to other OSes (Operating Systems). The supported OSes, CPUs and application scenarios will grow over time, provided by Microsoft, other companies, and individuals.Command-line tools: All product scenarios can be exercised at the command-line.
- Compatible: .NET Core is compatible with .NET Framework, Xamarin and Mono, via the .NET Standard Library.
- Open source: The .NET Core platform is open source, using MIT and Apache 2 licenses. Documentation is licensed under CC-BY. .NET Core is a .NET Foundation project.
- Supported by Microsoft: .NET Core is supported by Microsoft, per .NET Core Support.
- As for the “cons” one of the biggest issues are gaps in the documentation. Fortunately most of the things for creating and API are covered, but when you’re building an MVC app, you might have problems.
- Next problem – changes. Even if you find a solution to your problem, it could have been written for a previous version and might not work in the current one. Thanks to open source nature of it, there is also support available on github. But you get same problems there (apart from searching).
- Another thing is lack of support in the tooling. You can forget about NCrunch or R# Test Runner. Both companies say they will get to it when it gets more stable.
- ASP.NET Core is still too raw. Many basic things, such as the Data Access, is not designed for 100%. There is no guarantee that the code you are using now will work in the release version.
- It’s modular. You can add and remove features as you need them by managing NuGet packages.
- It’s also much easier and straightforward to set up.
- WebApi is now part of the MVC, so you can have class UserController, which will return a view, but also provide a JSON API.
- It’s cross-platform.
- It’s open-source.
ASP.NET Core is the work on the bugs of the classic ASP.NET MVC, the ability to start with a clean slate. In addition, Microsoft also aims to become as popular as Ruby and NodeJS among younger developers.
NodeJS and ASP.NET have always been rivals: both – a platform for backend. But in fact, between them, of course, there was no struggle. The new generation of developers, the so-called hipster developers, prefer Ruby and Node. The adult generation, people from the corporate environment, are on the side of .NET and Java. .NET Core is clearly trying to be more youthful, fashionable and popular. So, in future we can expect the .NET Core and NodeJS to be in opposition.
In its advertising campaign, Microsoft is betting on unusual positions for it: high performance, scalability, cross-platform. Do you think that ASP.NET “crawls” on the territory of NodeJS? Please feel free to share your thoughts with us.
Thank you in advance!
Business Development Manager | LI Profile
Java brings a lot of popular and user-friendly frameworks, content management systems and servers that help to simplify the application development process, website management process and much more irrespective of the size and complexity of the project. When it comes to CMS, Java possesses a host of CMSs that have been highly recognized in the market, but one CMS that has gained great popularity and attention from the developers and companies across the world is Magnolia.
Magnolia is an open source content management system which delivers exceptional simplicity on an enterprise level, combining user-friendly usage with a standards-based and flexible Java architecture. Companies such as Airbus Group, Al Arabiya, Avis and Virgin America use it as the central hub for their web, mobile and IoT initiatives. Founded in 1997, Magnolia is a privately-held company headquartered in Basel, Switzerland. The company has offices around the globe, and customers in over 100 countries.
Making a good CMS to cater the needs of the clients is never an easy task, and the developers Magnolia knows this thing better. Hence, Magnolia brings some of the much needed features and functionalities for the enterprises.
• Magnolia comes with a smart cache, a built-in clustering capabiliy and distributed deployment architecture that easily decouples authoring from publishing and the possibility to develop load-balanced public servers to bring more throughput and availability.
• It also offer code highlighting for the designers & developers, easy integration of 3rd party frameworks, extendable workflow, J2EE compliance, RSS generation & aggregation and more for the customization.
• When it comes to designing, it brings standard-based templating in JSP and servlets, unlimited page and component design, Freemarker as a template engine, custom tag library to speed up templating and pluggable templating engine for the designers.
• It brings Open APIs, advanced caching strategies, unlimited scalability, clustering & load balancing, transactional activation and tons of other performance related features & functionalities for the enterprises.
• From the security point of view, Magnolia brings flexible user permissions using role-based user management and distributed architecture, which is a need of today’s enterprises.
• It also enables team work through concurrent editing, deletion, address book, workgroup collaboration and some other features.
Apart from all these, Magnolia also enables search engine optimization, content tagging, configurable workflow, content versioning, social media integration, multilingual support, multi-site management, mobile publishing and tons of other enterprise-scale functionalities.
However, like any other technology or platform, Magnolia also has some advantages and disadvantages. Let’s take a look at each of them:
• It’s an open source.
• User friendly, easy to use for Administrators/Content Editors/Authors
• Good set of standard components in the standard templating kit (STK)
• Very flexible, almost anything can be customized
• Vast set of open modules for many additional features
• Leverage from page-based site or navigation.
• It utilizes installer, but the WAR files can be used to redeploy it to some other place.
• Steep learning curve
• Inconsistent or lack of documentation
• Configuration via JCR-Tree can be error-prone and not very transparent
• Versions -4.5, 4.5+ and 5 all have shifts in paradigms
• Versioning and collaboration
All in all, Magnolia is a very promising CMS that integrates well into an enterprise java stack. It is predominantly suited for medium to large businesses where processes need deep integration and customizations. With regards to small businesses, Magnolia might be somewhat of an overkill.
How about you? Did you have a chance to work with Magnolia CMS? What is your attitude to it?
Please feel free to share with us your thoughts and experience here below.
Over the years dynamic languages such as Python and Ruby have become cherished by startups. As for .Net it is more rarely heard to be used by startups. That’s interesting indeed, because this platform is definitely bigger than most of the popular ones.
So I wonder why a platform as widely adopted and supported as .NET isn’t more visible in startup culture. Let’s try figuring out the main arguments in favor and against making .Net a startup technical choice.
1. Community culture
Some people say the main reason is the culture of the .NET community itself, not anything specific to the platform. Being centered mostly around the needs of enterprise market .NET developers’ concerns are often regarding supporting legacy systems, building enterprise architectures, large systems for supporting business processes. This implies solving problems which are not so relevant for startups at least at their initial point.
As for members of the startup community, they fuss over different issues – concurrency, experience design, supporting multiple clients and browsers, etc.
As a result the startup community and the .NET community don’t overlap as much as they do for other technologies. That’s why startup founders don’t get much exposure to .Net and don’t think of it as an applicable tool for their purposes. The same way many .Net developers who want to work for hot startups don’t have as many opportunities to do so unless they abandon the platform for a more startup-friendly one or start a company themselves.
So platform doesn’t always dictate its use – that’s people who make the choice. Enterprise and startups aren’t mutually exclusive – they’re just different stages in the evolution of software, and there’s no reason why the startup community shouldn’t look at .NET as an attractive starting point for a new business.
2. Startup tech compatibility
A startup is a risky venture with no guarantee of success. So tech startups seek advantages in order to succeed. Hence startups take what big enterprises consider risky bets on technology. This objective can be achieved by using technology that is popular in startup environment.
Many features of .NET, facilitating the productivity of big companies, are not always useful to startups. There is too much choice of implementation methods. If anything, web startups are looking to have this choice taken away – their technology choices come from the subset that is built for the web.
Also it is said that innovation is quicker with other ecosystems which have a bigger set of libraries and tools. As for .Net there are a few open source projects however most of them are pretty much an implementation of concepts that have already been implemented for a while in the Java world, for example.
3. Open source vs proprietary
Although many startups don’t mind paying for tools and services, most of them still pick things based on cost. For a long time the “enterprise” level tools, services, databases, etc were hardly affordable by startups. That’s why startups adopt so much open source.
It’s also hard to justify the use of proprietary software from a business perspective. If you want to be acquired it is wise to develop your product using an open stack rather than Microsoft’s.
However luckily for many startups Microsoft saw a huge value in giving their stuff away to startups and startups have benefited greatly. Microsoft has been running their Bizspark program for several years, which eliminates most of the startup costs normally associated with employing a .NET framework. To get into the BizSpark program you just need to get checked by BizSpark team if your startup is eligible (developing a real product). Then you’ll get free licenses to basically every product they make, including SQL Server, and a free MSDN gold subscription, for 3 years. They figure 3 years is long enough for you to get going so after that they want you to pay for new licenses. The great part is that they let you keep the licenses you’re already using. So Microsoft has basically taken the cost factor completely out of the equation for new startups.
4. Velocity vs performance
Some people say that it’s all about the velocity. If you agree with an assumption that a startup goal is to find a niche vs build a product, then the goal of a startup is to learn about the market, customers, and product needs as quickly as possible. Python, Js, Ruby, etc allow you to iterate quickly without a lot of infrastructure and boilerplate. However a company that has already has a market has a little different goal, for them the objective is to build a stable product that they can maintain.
Some people say that .Net is not suitable for quick changes. This is a pretty outdated view of C# these days, it’s actually fairly easy to write extremely terse code with. As an added bonus refactoring is so incredibly easy compared to JS, Ruby, Python, etc. that it’s ideal for rapidly switching directions in code as you can refactor so fearlessly without being slowed down by massive amounts of tests. Unfortunately what’s bad about .Net is the tooling and the supporting ecosystem.
Python is much better suited to quick prototypes that can be fleshed out into a reasonably reliable product without too many headaches. The key difference comes when you have to change features mid-stream. The lack of strict typing and interfaces means you can add, change, and remove features much quicker than C# for example. On top of that, you just write fewer actual lines of code to get the same thing done, although sometimes readability can suffer if you get too concise. There is a price to be paid with Python and Ruby though and performance is the biggest one.
5. Team and project size
The team and project size always matters. So when the solution is being built with a small team, then it is easier to use something like Python. Obviously the goal is to be fast to develop in and have a bunch of libraries to be used. On the other hand when building something with a big team, you feel like using something like C#. In this case it keeps it safe to develop in and easy to catch mistakes. Any optional documentation provided by a developer is incomplete. On the contrary the quality level of the available .Net documentation is outstanding.
However if the company is starting as very small at the initial point, it hopefully grows and builds up quite a sizeable codebase by some point. Python, JS & Ruby are fine for small programs but anything more than that and they become their own enemies because the programs they make are quite brittle.
The common opinion is that .Net scales well.So, if your startup does make it, you’ll probably have a much easier time scaling the .Net stack than you would with say Ruby or PHP.
Conclusion: it’s all about stereotyping
Eventually, I found different opinions on my question of .Net being not so popular with startups such as “platform lock-in,” “no open standards,” “licensing costs.” Sure, these are issues preventing many developers from adopting .NET in the startup space, but not enough to bar all of them from using it. Most of the arguments are just stereotypes that can be dispelled under closer examination.
All languages have strengths and weaknesses. For a startup, you need to do due-diligence and research what the right language to use for your idea will be because recoding in a different language can get costly.
So do you use .Net in your startup projects? Please share your feedback and experiences with us.