Thursday, November 29, 2018

Web Design-New Features of HTML5


This industry moves fast—really fast! If you're not careful, you'll be left in its dust. So, if you're feeling a bit overwhelmed with the coming changes/updates in HTML5, use this as a primer of the things you must know.
The variety of new HTML5 tags allows the developers to write their code quicker and make it more dynamic. Some old HTML5 features were renewed into new ones, some were removed at all, and others were freshly made to help people create their websites in an easier manner.

Arnasoftech is Global Software Development Solutions Company that has build expertise in Web & Mobile Solutions. We have expertise in building web applications, desktop applications, custom software development, enterprise portals, mobile applications, and digital solutions. I’ve made a huge list of new HTML5 tags for you to learn and start using.
New features of HTML5
1. Video and Audio
Video and audio are the new tags which allow to embed a video in the website. YouTube also declare video embed by giving the code to embed for their videos. It helps the web to be more involved with multimedia. A new tag is also available in HTML5 and that is audio tag. Which is used to embed any audion in the web?

Example of using Video tag

<video controls preload>
    <source src="cohagenPhoneCall.ogv" type="video/ogg; codecs='vorbis, theora'" />
    <source src="cohagenPhoneCall.mp4" type="video/mp4; 'codecs='avc1.42E01E, mp4a.40.2'" />
    <p> Your browser is old. <a href="cohagenPhoneCall.mp4">Download this video instead.</a> </p>
</video>

Example of using Audio tag

<audio autoplay="autoplay" controls="controls">
 <source src="file.ogg" />
    <source src="file.mp3" />
    <a>Download this file.</a>
</audio> 

2. nav

The nav element is used for the part of a internet site that links to different pages at the website. The hyperlinks can be organized a number of approaches. below, the hyperlinks are displayed inside paragraph factors. An unordered list can also be used.

<nav>
  <a href="/html/">HTML</a>
  <a href="/css/">CSS</a>
  <a href="/js/">JavaScript</a>
  <a href="/jquery/">jQuery</a>
</nav>

3. Header

The header element can be used to institution collectively introductory factors on a website, such as a business enterprise brand, navigation objects, and occasionally, a search form.
<header>
  <img src="company-logo.png">
  <nav>
    <p><a href="login.html">Log In</a></p>
    <p><a href="signup.html">Sign Up</a></p>
    <p><a href="contact.html">Contact Us</a></p>
  </nav>
</header>

4. Canvas

canvas is a tag of HTML which is newly introduced in HTML5. It is used to draw the images on the fly. It can be used for visual images, rendering graphs, game graphics.

Example of canvas

<canvas id="myCanvas"></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "#FF0000";
ctx.fillRect(0, 0, 80, 80);
</script>
5. Footer
Footer is a tag, used to define the footer of a document or a section. Usually it contains the information about author and copyright etc. Address tag may be used to mark up the contact information in the footer.
A document or section can have more than one footer.   
<footer>
  <p>Posted by: Hege Refsnes</p>
  <p>Contact information: <a href="mailto:someone@example.com">
  someone@example.com</a>.</p>
</footer>
6. New types for input tags
input is an attribute which is an old attribute but in HTML, it is reintroduced with new values like email, month, number, range, search, tel, color, week, url, time, date, datetime-local etc.These are the new values which can be contain by the input tag.

·         ContentEditable
It is an attribute which is used to permit the user to edit the content. It creates What You See What You Get so easy. Content will be editable by clicking on it.
  
·         Progress
This tag is used to check the progress of a task during execution of that. Progress tag can used with the conjuction of JavaScript. It is like progress bar.

<progress value="22" max="100"></progress>

·         section
Section tag is used to divide a document or in parts or sections. For example: An article can have many sections like header, footer, latest news and section for main content etc.

·         main
main is a tag which is used to contain the main content of the page. More than one main tag is not accepted in the document and this tag can not be inside in article, aside, footer, header tags. It does not include the navigation bar, header and footer.

7. Email Inputs

If we apply a type of "email" to form inputs, we can instruct the browser to only allow strings that conform to a valid email address structure. That's right; built-in form validation will soon be here! We can't 100% rely on this just yet, for obvious reasons. In older browsers that do not understand this "email" type, they'll simply fall back to a regular textbox.
<!DOCTYPE html>
 
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>untitled</title>
</head>
<body>
    <form action="" method="get">
        <label for="email">Email:</label>
        <input id="email" name="email" type="email" />
 
        <button type="submit"> Submit Form </button>
    </form>
</body>
</html>

 8. Regular Expressions

How often have you found yourself writing some quickie regular expression to verify a particular textbox. Thanks to the new pattern attribute, we can insert a regular expression directly into our markup.

<form action="" method="post">
    <label for="username">Create a Username: </label>
    <input type="text"
       name="username"
       id="username"
       placeholder="4 <> 10"
       pattern="[A-Za-z]{4,10}"
       autofocus
       required>
    <button type="submit">Go </button>
</form>
 

If you're moderately familiar with regular expressions, you'll be aware that this pattern: [A-Za-z]{4,10}accepts only upper and lowercase letters. This string must also have a minimum of four characters, and a maximum of ten.

9. The Output Element

As you probably have guessed, the output element is used to display some sort of calculation. For example, if you'd like to display the coordinates of a mouse position, or the sum of a series of numbers, this data should be inserted into the output element.
As a simple example, let's insert the sum of two numbers into an empty output with JavaScript, when a submit button is pressed.
<form action="" method="get">
    <p> 
        10 + 5 = <output name="sum"></output> 
    </p>
    <button type="submit"> Calculate </button>
</form>
 
<script>
(function() {
    var f = document.forms[0];
     
    if ( typeof f['sum'] !== 'undefined' ) {
        f.addEventListener('submit', function(e) {
            f['sum'].value = 15;
            e.preventDefault();
        }, false);
    }
    else { alert('Your browser is not ready yet.'); }
})();
</script>

10. The Data Attribute
We now officially have support for custom attributes within all HTML elements. While, before, we could still get away with things like:
<h1 id=someId customAttribute=value> Thank you, Tony. </h1>

The validations would kick up a fuss! But now, as long as we preface our custom attribute with "data," we can officially use this method. If you've ever found yourself attaching important data to something like a class attribute, probably for JavaScript usage, this will come as a big help!
These are some of the new features which are introduced in the HTML5 version. There are many more features of HTML5 which are newly introduced. Features of HTML5 are supported by the latest versions of browsers. Thanks for reading! We've covered a lot, but have still only scratched the surface of what's possible with HTML5. I hope this served as a helpful primer!

Tuesday, November 27, 2018

Building a Responsive Web Application with Bootstrap Framework


Responsive design creates websites that automatically adjust to look good and function well on any size screen. From navigation and the way content is organized, to buttons and image scalability, responsive sites are not only designed to optimize the way people see a site, but also to prioritize what information mobile users are there to get.

Responsive websites are designed to work on any platform as it is a custom CSS style sheet that makes the website look great on any device. So, whether you’re accessing it from your PC, iPhone, Android or tablet, the website will format perfectly.

Responsive web approach requires less time and money is that just one development process allows your website to be viewed on most modern mobile browsers. Furthermore, your development team won’t need to adhere to any OS guidelines or permissions, as they are developing a website that isn’t distributed through the app stores.

Build Mobile Website with Bootstrap

One of the popular open source frameworks, Bootstrap is your best bet if you are planning to develop website for mobile devices. With its collection of HTML and CSS based design templates, it makes the development of essential interface components quite easy.      
The Bootstrap framework is an excellent choice for a few reasons.

Uniform and Modern Look with Style sheets:

Bootstrap provides LESS style sheets including various components which a developer can select for using in UI development. LESS files are good for those who are in the habit of CSS preprocessing but even for those who are not comfortable with LESS can even go for normal CSS files as well, because bootstrap also provides a set of CSS style sheets using which a developer can define the basic style for all the HTML elements. Hence, it’s easy to give a uniform and modern look to user interface of a mobile app using Bootstrap.

Easy to Use:

One can easily use the style sheets provided by Bootstrap to style up their app interface. Just download the style sheet files from Bootstrap’s website, unzip and include them in head of HTML files. That’s it. Now you are ready to access the Bootstrap framework for easy and efficient UI development.

Flexibility for Using Classes and Functions:

Bootstrap has predefined classes, several JavaScript functions and various CSS components that make UI development much easier. But a developer will have the complete freedom to select only those classes or functions that are required for his purpose.

Responsive Grid System:

Bootstrap provides a 12 column, responsive grid system that automatically adjusts to the screen resolution of the device of the user. Hence, developing a responsive user interface for your mobile app can be really easy by implementing bootstrap in the UI development process.

Useful Components for Better UI Design:

Bootstrap has got several useful components to provide for a user interface designer like it includes drop down menus, navigation bar component, menu, badges, lists, progress bar and much more. Hence, considerable amount of development time is reduced with these ready-made components which are not required to develop from scratch with Bootstrap. All you are required to do is to only include the right classes of the components as required.

JavaScript Plug-ins and Libraries for Use:

Bootstrap supports several JavaScript plug-INS to make UI development a much easier and better approach for a developer. There are several most commonly used classes included in JavaScript libraries of Bootstrap. One can implement these classes for rapid UI development. These include the tabs, pop over’s, tooltips etc.


A mobile-first, ground-up grid approach: Bootstrap gets designers to start small. If a site looks good on a small screen, it’s easy to scale it up from there, without things getting cluttered. A top-down approach in mobile design is counterintuitive; Bootstrap reinforces that, so sites stay clean and logical on the smallest screens. Bootstrap forces designers to build sites with small screens in mind, and then go from there. Bootstrap’s grid-based layout approach is the key: you can use up to 12 columns in a layout, combining them for wider columns, which are organized in layout classes—extra small, small, medium, and large for phone, tablet, and desktop-sized screens.
Many leading organizations have started using the bootstrap framework to create a responsive deign of their web sites.

The framework components are categorized as follows:
1.      CSS: Design related capabilities and provisions
            1.Grid System
            2.Typography
   3.Tables and so forth

2.      Components: Reusable controls or components
1.      Icons
2.      Navbar
3.      Button groups and the like

3.      JavaScript: Custom JQuery plugins
     1.      Transitions
2.      Modal and such

Bootstrap 3 is a mobile first framework. This means that the default target is mobile devices and will scale up from there. With the new Bootstrap 3 mobile first grid system creating the responsive and mobile friendly websites has become much easier. As opposed to previous version you don't need to include any additional style sheet to enable responsive feature. Bootstrap 3 is responsive and mobile friendly from the start. 
Bootstrap is one of the best available frameworks that offer you many great tools and resources in order to accelerate and speed up your application development process.
Arnasoftech is Global Software Development Solutions Company that has build expertise in Web & Mobile Solutions. Our core skills covers web application development with .NET core, ASP.NET MVC, C#, MEAN Stack, PHP, WordPress, IOS, Android, CSS3, HTML5, Bootstrap, SEO, Link Building.

Tuesday, November 20, 2018

C#: Abstract Class vs Interface


An abstract class looks a like an interface, but the concept is a little confusing for the developer of OOP. An abstract class looks like an interface, of course, without any implementation, however they have their fair share of differences. While an abstract class can be either partially or fully implemented, an interface must be implemented completely. Well, the most notable difference between the two is that an abstract class can have default implementation, while an interface is just the definition of methods which contains only the member declarations. Let’s discuss both in detail.

Abstract Class?
An abstract class is a special type of class which acts as a base of other classes and cannot be instantiated. The implementation logic of an abstract class is provided by its derived classes. To make a class abstract, the “abstract” modifier is used which means some missing implementation needs to be implemented in the class derived from it. It contains both abstract and non-abstract members. An abstract class is intended to provide basic functionality which can be further shared and overridden by multiple derived classes. It is useful to avoid any kind of code duplication. They look very much like interfaces but with added functionality.

Interface?
An interface, on the other hand, is not a class which contains only the signature of functionality. It’s a pattern with no implementation. Conceptually speaking, it’s just the definition of methods which contains only the declaration of members. It’s an empty shell which does not contain the implementation of its members. It’s like an abstract base class which only contains abstract members such as methods, events, indexers, properties, etc. It cannot be instantiated directly and its members can be implemented by any class. Additionally, multiple interfaces can be implemented by a class, however, a class can only inherit a single class.

Theoretically there are basically 5 differences between Abstract Class and Interface which are listed as below:
1. A class can implement any number of interfaces but a subclass can at most use only one abstract class.
2. An abstract class can have non-abstract Methods (concrete methods) while in case of Interface all the methods has to be abstract.
3. An abstract class can declare or use any variables while an interface is not allowed to do so.
4. An abstract class can have constructor declaration while an interface cannot do so.
5. An abstract Class is allowed to have all access modifiers for all of its member declaration while in interface we cannot declare any access modifier(including public) as all the members of interface are implicitly public.

Use abstract classes when:
  • A hierarchy of types that stem from universal base type exhibit similar behaviors or traits unique to only types of that hierarchy.
  • Each type in the hierarchy has its own implementation of a generic behavior which itself should be marked as abstract in the base class.


Use an Interface when:
  •          The trait of behavior is not specific to any group of types or hierarchy but can be implemented by any type.
  •          The intention is to expose a particular trait or behavior to all types.






























































































Arnasoftech is Global Software Development Solutions Company that has build expertise in Web & Mobile Solutions. 
We have expertise in building web applications, desktop applications, custom software development, enterprise portals, mobile applications, and digital solutions.
Our core skills covers web application development with .NET core, ASP.NET MVC, C#, MEAN Stack, PHP, WordPress, IOS, Android, CSS3, HTML5, Bootstrap, SEO, Link Building.