KhowLedge

PHP ภาษา ไทย

[Rssinpage rssfeed = ‘http://www.meewebfree.com/feed’]

  • Mon, 04 Jun 2018 04:22:11 +0000: Warning: include(C:/xampp/htdocs/inc/config.php): failed to open stream: No such file or directory in C:\xampp\htdocs\dbsocial\index.php on line 2 - PHP – select2web.com
    พาธผิดแค่นั้น
  • Mon, 20 Nov 2017 01:00:25 +0000: OOP ซีรี่ย์ – Abstract classes & methods - PHP – select2web.com
    Abstract class นั้นเป็นคลาสที่ถูกเขียนขึ้นมาด้วยความตั้งใจว่า “เป็นการวางโครงคลาสไว้ให้ก่อน เมื่อจะนำไปใช้ คุณจะต้อง implement มันให้เป็นคลาสเสียก่อน” วิธีการสร้างก็เหมือนการคลาสปกติ เพียงแต่นำหน้าคลาสด้วยคีย์เวิร์ด Abstract ผมเอาตัวอย่างจริงๆของ WooCommerce มาให้ดู เพื่อจะให้เห็นว่าคอนเซ็ปนี้เขาไม่ได้สร้างกันขึ้นมาเล่นๆ View the code on Gist. เวลาจะเอาคลาส WC_CSV_Exporter ไปใช้งาน เราจะต้องทำการ implement มันให้เป็นคลาสเสียก่อน ด้วยคำสั่งนี้        
  • Mon, 13 Nov 2017 01:00:31 +0000: OOP ซีรี่ย์ – override properties and methods - PHP – select2web.com
    ในกระบวนการของ OOP นั้นมันยอมให้คลาสลูกที่สืบทอดไปจากคลาสแม่ เขียนทับฟังก์ชั่นของตัวแม่ได้ เหตุผลหนึ่งที่ยอมให้กระทำอย่างนั้นได้ เพราะว่า เผื่อเราต้องการจะเปลี่ยนแปลงการทำงานของฟังก์ชั่นบางฟังก์ชั่น สมมติ เรามีคลาสอยู่ตัวหนึ่งซึ่งเราตั้งใจให้มันเป็นคลาสหลักให้คลาสอื่นๆมา extends ออกไปแล้วเขียนฟังก์ชั่นเพิ่มให้แตกต่างกันไป ทีนี้ระบบมันก็ใช้มาๆ แล้ววันหนึ่งเราต้องการสร้างคลาสตัวหนึ่งที่จะต้อง extends มาจากคลาสหลัก แต่ อยากแก้ไขฟังก์ชั่นที่มีอยู่เดิมให้ทำงานแตกต่างออกไป แบบนี้ทำได้ ดูตัวอย่าง View the code on Gist. ถ้าเราประกาศฟังก์ชั่นด้วยคีย์เวิร์ด public มันจะอนุญาติให้เราเขียนฟังก์ชั่นทับอย่างนี้แหละ  แต่ถ้าเราไม่อยากให้มีการเขียนทับฟังก์ชั่น เราจะต้องใช้คีย์เวิร์ด final วางไว้หน้าฟังก์ชั่น แล้ว PHP มันจะไม่อนุญาติให้เขียนฟังก์ชั่นทับเอง ทีนี้บางคนอาจจะสงสัยว่า ก็เราเขียนเอง ทำไมต้องไฟน่งไฟนอล เอ้าก็ภาษามันไม่ได้ออกแบบมาเพื่อให้คนๆเดียวเขียนเท่านั้น มันอาจจะมีฝ่ายวางแผน ฝ่ายขึ้นโครงคลาส พวกสร้างคลาสให้แล้วคนอื่นเอาไปเขียนต่อ ซึ่งมันจำเป็นต้องป้องกันบางอย่างที่อาจจะก่อให้เกิดบัก ตัวอย่างข้างล่างนี่เออเร่อ เพราะตรงบรรทัดที่ 12 มีการใส่ final ไว้หน้าฟังก์ชั่น getID นั่นหมายความว่า ห้ามใคร implement ฟังก์ชั่นนี้ใหม่ในคลาสลูก View the […]
  • Mon, 06 Nov 2017 01:00:58 +0000: OOP ซีรี่ย์ – Inheritance in PHP - PHP – select2web.com
    Inheritance หรือเรียกอย่างไทยๆว่าการสืบทอด การสืบทอดมันไม่ได้มีอะไรใกล้เคียงกับตั๊กแตนทอดหรือกล้วยทอด หรืออะไรอย่างอื่นที่ใช้น้ำมันเป็นส่วนประกอบกรรมวิธี พอกล่าวถึงเรื่องน้ำมัน ก็อยากจะบอกว่าน้ำมันปาล์มไว้ใช้ทอด น้ำมันถั่วเหลืองไว้ใช้ผัด ไปเรื่อย… การสืบทอดใน OOP นั้นจะคล้ายๆกับการก้อปปี้โค้ดเดิมแล้วเอามาเขียนโค้ดต่อเพิ่มเข้าไป ที่ผมใช้คำว่าคล้าย เพราะว่าการสืบทอดนั้นมันเจ๋งกว่าการก้อปปี้ สมมติว่าผมมีคลาสอยู่ตัวหนึ่ง ทำงานได้ดี View the code on Gist. คลาสตัวนี้เอาไปใช้ในโค้ดหลายๆที่ นานไปๆก็จำไม่ได้แล้วว่าเอาไปใช้ตรงไหนบ้าง แต่ไม่เป็นไรเพราะระบบยังใช้งานได้ดี วันหนึ่งเราอยากจะได้ฟังก์ชั่นสำหรับดึงค่า idcard ออกมา แต่มันก็ใช้อยู่ที่เดียวเท่านั้น ในโค้ดใหม่ ทางเลือกที่เรามีอยู่ตอนนี้ก็คือ ก้อปปี้คลาสนี้ทั้งคลาสเลยแล้วเปลี่ยนชื่อเสียใหม่แล้วเพิ่มโค้ด / หรือแก้คลาสเดิมเลยเพิ่มโค้ดใหม่เข้าไป 2 ทางเลือกที่ให้มาถ้าเป็นระบบจริงๆมีเสียวกันบ้าง เพราะการแก้โค้ดเดิม ไม่รู้ว่ามันจะไปกระทบกับของเก่าที่นำไปใช้บ้างหรือเปล่า หากคุณเขียนโค้ดแบบ functional นะ ไม่ใช้ class นะ ทางเลือกคุณมี 2 ทางนั้นแหละ แต่คลาสเขาออกแบบมาให้มันรองรับการสืบทอด เราเขียนคลาสใหม่สืบทอดจากคลาสเก่าแล้วเติมโค้ดใหม่เข้าไป ดอตอยอ ดูตัวอย่าง View the code on Gist. คลาส […]
  • Mon, 30 Oct 2017 01:00:07 +0000: OOP ซีรี่ย์ – Magic methods - PHP – select2web.com
    เมจิกเมธอด ชื่อมันก็บอกอยู่แล้วว่าเป็นเมธอดมหัศจรรย์ มหัศจรรย์ยังไง ก็มหัศจรรย์ว่ามันจะรันของมันอัตโนมัติ เมจิกเมธอดนี้จะมีอยู่ 2 เมธอด คือ __construct() : จะถูกเรียกอัตโนมัติเมื่อคลาสนั้นถูก new โดยปกติเขาจะไว้ใช้สำหรับเตรียมตัวแปรหรืออะไรเทือกๆนั้น __deconstruct() : จะถูกเรียกอัตโนมัติเมื่อโค้ดถูกรันหมดหน้า ปกติเขาจะไม่เขียนเมธอดนี้กัน เอ้าทำไม ก็เพราะว่าเขียนหรือไม่เขียนก็ค่าเท่ากัน PHP นั้นมันมีระบบที่เรียกว่า เรียกว่าเหี้ยอะไรสักอย่างนี่แหละ หน้าที่ของมันก็คือมันจะทำลายตัวแปรทั้งหมดทิ้งเมื่อรันโค้ดหมดหน้าและส่งไปแสดงผลแล้ว เพื่อไม่ให้เกิดอาการที่เขาเรียกว่าหน่วยความจำรั่ว หรือเรียกเอาเท่ว่า memory leak ตัวอย่างการเขียนจะเป็นแบบนี้ View the code on Gist. เมื่อมีการ new คลาส People ฟังก์ชั่น __construct() จะถูกรันอัตโนมัติ  

ภาษา ไทย

WordPress
rssinpage [ rssfeed=’http://www.smashingapps.com/2011/03/18/13-excellent-plugins-to-enhance-the-power-of-wordpress-admin-section.html/feed’]

הדרכות
Html -CSS

  • Mon, 15 Oct 2018 09:04:36 +0000: Introducing JotForm PDF Editor: Turn Form Responses into Designed PDFs - noupe
    Let’s say you receive a form submission and want the information you just collected displayed on a single PDF document. Easy enough. Just copy the information, open a new word processing document, paste the information, and then save the whole thing as a PDF. But what if you wanted to turn 100 form submissions into...
    JotForm PDF Editor
  • Fri, 12 Oct 2018 09:10:07 +0000: How listening to our 4.1 million users inspired a new product idea - noupe
    Years ago, I was waiting in line at a paddle sports shop. People were renting kayaks and canoes and getting fitted for life jackets. It was a brilliant, sunny day and the air buzzed with excitement. On the back wall, I noticed a framed print that read: “We don’t sell boats. We sell time on...
  • Thu, 04 Oct 2018 10:38:15 +0000: 5 Free JPG to PDF Converters: Combine Images Easily Into PDFs - noupe
    Do you have an image file must be converted into a PDF file for, let’s say, a report due soon, or an important email that a vendor, customer, or employer wants? Not sure where to go for help? We’ve got you covered! After a little digging, we found some of the best and, more importantly,...
    5 Free JPG to PDF Converters
  • Mon, 01 Oct 2018 13:43:31 +0000: Focus on productivity, not efficiency - noupe
    12 Hours  That’s how long it took to build a car before 1913. Over the next several years, Henry Ford reduced the time-consuming process to an impressive 2.5 hours. His goal was simple — make automobile ownership possible for every American by lowering the cost of production. What wasn’t so simple? Figuring out exactly how...
    Focus on productivity, not efficiency
  • Fri, 28 Sep 2018 11:58:53 +0000: 5 Best Online Tools to Extract Images from PDF Files - noupe
    Ever read through a document and found an image that you wanted to download and use (with permission, of course)? Were you vexed after realizing that the document was a PDF file and thinking that there may be no way to get the image you want? We know your pain, and we’re here to help....
PHP
  • Mon, 15 Oct 2018 21:05:09 +0000: How to Create the Carpet Pattern From "The Shining" in Adobe Illustrator - Envato Tuts+ Tutorials
    Final product image
    What You'll Be Creating

    In today’s tutorial we’re going to continue with the Horror Movie Special, and learn how to create the trippy carpet pattern from Stanley Kubrick’s The Shining.

    We’re going to create it in Adobe Illustrator using some “old-school” techniques, which involve the careful handling of the Rectangle Tool combined with the power of the Pixel Grid.

    So, grab a cup of that hot coffee that you love, and let’s get started!

    Oh, and don’t forget you can always find new jaw-dropping patterns over at Envato Market, with tons of themes to choose from.

    You can now follow this tutorial in video format over on the Envato Tuts+ YouTube channel.

    1. Set Up a New Project File

    Bring up Illustrator, and set up a New Document (File > New Document or Control-N) and adjust it using the following settings:

    • Number of Artboards: 1
    • Width: 602 px
    • Height: 600 px
    • Units: Pixels 

    And from the Advanced tab:

    • Color Mode: RGB
    • Raster Effects: Screen (72ppi)
    • Align New Objects to Pixel Grid: checked
    setting up a new document

    2. Set Up a Custom Grid

    Since we’re going to be creating the pattern using a pixel-perfect workflow, we’ll want to set up a nice little Grid so that we can have full control over our shapes.

     Step 1

    Go to the Edit > Preferences > Guides & Grid submenu, and adjust the following settings:

    • Gridline every: 1 px
    • Subdivisions: 1
    setting up a custom grid

    Quick tip: you can learn more about grids by reading this in-depth piece on how Illustrator’s Grid System works.

    Step 2

    Once we’ve set up our custom grid, all we need to do in order to make sure our shapes look crisp is enable the Snap to Grid option found under the View menu, which will transform into Snap to Pixel each time you enter Pixel Preview mode.

    Now, since we’re aiming to create the pattern using a pixel-perfect workflow, I strongly recommend you go through my how to create pixel-perfect artwork tutorial, which will help you widen your technical skills in no time.

    3. Create the Main Repeating Element

    The first thing that we’re going to start working on is the main repeating element, or rather section of the pattern, that we will use to build our larger composition.

    Step 1

    Grab the Rectangle Tool (M) and create an 86 x 106 px shape, which we will color using a bright orange (#DF5F18) and then align to the center of the underlying Artboard.

    creating and positioning the main shape for the patterns repeating element

    Step 2

    Zoom in on the shape that we’ve just created, and use the Add Anchor Point Tool (+) to add two new anchor points, one to the center of its top edge, and another one to its bottom one.

    adding the top and bottom anchor points to the repeating elements main shape

    Step 3

    Use the Direct Selection Tool (A) to select the anchors that we’ve just created, and then push them towards the top by right-clicking and going to Transform > Move and entering -26 px into the Vertical value field, leaving the Horizontal one at 0 px.

    adjusting the repeating elements main shape

    Step 4

    Now that we have our main shape, let’s give it a top outline, by selecting it, and then using the Move Tool to create a copy at a distance of 14 px from it (right click > Transform > Move > Horizontal: 0 px > Vertical: -14px > Copy).

    creating the repeating elements top outline using the move tool

    Step 5

    Grab a copy of the original shape (Control-C) and paste it on top of the one that we’ve just created (Control-F) using Pathfinder’s Minus Front Shape Mode to remove part of its lower section, coloring the resulting shape using black (#000000).

    adjusting the repeating elements top outline

    Step 6

    Add the bottom outline, using a copy (Control-C > Control-F) of the one that we’ve just created, which we will position right under the orange shape, selecting and grouping (Control-G) all three shapes together afterwards.

    creating and positioning the repeating elements bottom outline

    Step 7

    Using the Rectangle Tool (M) create a 26 x 14 px shape, which we will color using #981F24, and then Horizontal Center Align to the Artboard, at a distance of 50 px from the top outline tip.

    creating and positioning the main shape for the repeating elements top hexagon detail

    Step 8

    Adjust the shape that we’ve just created by adding two new anchor points to its top and bottom edges, and then individually pushing them towards the outside by 8 px using the Move Tool (right click > Transform > Move > Vertical > - 8 px for the top one and + 8 px for the bottom one).

    adjusting the repeating elements top hexagon detail

    Step 9

    Give the little hexagon a nice thick outline, by selecting it and then going over to Object > Path > Offset Path and entering 12 px into the Offset value field, leaving all the other options as they are.

    adding the outline to the repeating elements top hexagon detail

    Step 10

    Change the outline’s color to something darker (#000000) in order for it to stand out from the inner fill shape, and then select and group them both using the Control-G keyboard shortcut.

    adjusting the color of the repeating elements top hexagon detail

    Step 11

    Grab a copy (Control-C > Control-F) of the hexagon and its outline, and position it onto the left side of the repeating element, at a distance of 74 px from its tip, making sure that only its right half overlaps it.

    creating and positioning the second hexagon detail onto the repeating element

    Step 12

    Grab a copy (Control-C > Control-F) of the second hexagon detail, and position it towards the right side of the repeating element, making sure that only its left half overlaps it.

    creating and positioning the third hexagon detail onto the repeating detail

    Step 13 

    Using the Rectangle Tool (M) create a 12 x 62 px shape, which we will color using black (#000000) and then center and position over the top hexagon detail.

    creating and positioning the vertical rectangle onto the repeating elements top hexagon detail

    Step 14

    Add the same 12 x 62 px rectangle (#000000) to the other two hexagon details, only this time position it towards the top.

    Once you’re done, select and group all the shapes that we’ve created so far using the Control-G keyboard shortcut.

    adding the vertical rectangle to the second and third hexagon details

    Step 15

    At this point we’re pretty much done creating the repeating element. All we need to do now is mask it so that when we start building the larger pattern, the pieces will fit nicely together.

    To do that, simply create an 86 x 160 px rectangle (highlighted with orange), which we will center to the shapes that we’ve just grouped, and then use that as a Clipping Mask (right click > Make Clipping Mask).

    masking the repeating element

    Step 16

    Once we’ve masked our repeating element, we’ll want to align it to the left side of our Artboard since we’re going to create a couple of copies of it in the next stage of our process.

    positioning the masked repeating element onto the left side of the artboard

    4. Create the Main Section of the Pattern

    Up until this point we’ve created the pattern’s main repeating element, which is great, but we’re going to need to add a couple of instances in order to get it right.

    Step 1

    Select the repeating element, and then create eight copies of it (Control-C > Control-F) which we will position 0 px from one another, making sure to click on the original one to set it as our Key Object.

    creating the patterns first row of repeating elements

    Step 2

    Select and group (Control-G) all the repeating elements together, centering them to the Artboard with the help of the Align panel’s Horizontal Align Center option.

    aligning the row of repeating elements to the center of the artboard

    Step 3

    Create five more rows using the one that we have, and stack them on top of one another, making sure that their top and bottom outlines overlap. You can make the process a lot easier by lowering the opacity of the copies so that you can have a better view of the overlapping shapes.

    creating the rest of the patterns repeating rows

    Step 4

    Once you’ve added all the rows, set their Opacity to 100%, and then group (Control-G) and vertically align them to the center of the Artboard.

    grouping and positioning the patterns repeating rows to the center of the artboard

    Step 5

    With the repeating rows in place, mask them using a 602 x 600 px rectangle so that the outward facing elements of the pattern get cut in half.

    masking the main section of the pattern

    5. Create the Actual Swatch Pattern

    So at this point we’re all done working on the elements needed to create the pattern, which means that we can turn it into an actual swatch library element.

    Step 1

    Select the masked pattern, and then go to Object > Pattern and hit Make which will bring up a new window with a couple of options which we will need to adjust. But first, let’s give it a proper name to make it easy to recognize.

    giving the pattern a custom name

    Step 2

    Next, we have Tile Type which we’re going to want to leave set to Grid, since our pattern elements are designed to be stacked together instead of being spread out.

    choosing a tile type for the pattern

    Step 3

    Then, we have the Width and Height which we are going to set using the actual size of our pattern (602 x 600 px).

    choosing a size for our pattern

    Step 4

    Leave the Overlap and Copies settings as they are, since they’ll work just fine, and then finally hit Done to add the pattern to your swatch library.

    setting the overlap and copies settings for our pattern

    Step 5

    To use the pattern, simply select it from the swatch, and then grab the Rectangle Tool (M) (or any other shape) and draw a new object, which as you will see will have that same trippy brain-damaging effect as the real one from the movie had.

    example of using the pattern

    It’s a Wrap!

    There you have it: an easy way to create your very own “Shining” carpet, using some basic shapes and the power of Illustrators built-in Pattern options.

    I hope that you had as much fun as I did when I first created the project, and most importantly learned something new along the way.

    final preview of the pattern
  • Mon, 15 Oct 2018 18:33:38 +0000: 19 Best Templates for Mobile App Monetization - Envato Tuts+ Tutorials

    Imagine that you're ready to kick-start your own mobile app development business. Chances are you'd like to use the best development practices for your first app, and also code it as quickly as possible. You'll probably want to monetize your app as well! This post will show you some easy ways to launch your next ad-supported app project.

    In this article, I'll introduce some highly customizable and versatile mobile app templates that you can use in your next development project. Each has Google's AdMob app monetization platform neatly integrated, so you can build a revenue stream for your app from day one.

    These templates are all available from CodeCanyon, where you can buy and download an app template for immediate use in your development project.

    Android Templates

    1. Universal Multi-Purpose Android App

    Universal Multi-Purpose Android App

    Universal is a flexible and versatile app template that can be customized for a broad range of designs. In addition to its built-in AdMob support, the template can easily integrate with more than ten different content providers, including WordPress, YouTube, and Facebook. It is a native Android app and comes with extensive documentation to help you get started.

    2. Universal Android WebView App

    Universal Android WebView App

    Universal Android WebView App has a simple goal—bundle a solid Android WebView component with AdMob ads. It has lots of nice extra features such as Material Design styling, geolocation, and pull-to-refresh gesture support. It supports app development in HTML5, CSS3, JavaScript, jQuery, Bootstrap and other web technologies, but at the same time offers its responsive design and clean native code as well.

     3. Web2App

    Web2App

    Web2App is another app template that provides an Android WebView component, and it's packed with features. This template offers countless possibilities for customization. Not only that, but its comprehensive documentation, along with video tutorials and step-by-step instructions, make your job much easier than you might have thought possible.

    4. Android News App

    Android News App

    Android News App helps you run your own news platform. The app template consists of two components: an Android client and a PHP with MySQL server. It also provides you with full control over AdMob, allowing you to enable and disable features according to your specific requirements. The RTL (right to left) mode will come in handy if you want to add languages other than English and expand your global audience.

    5. City Guide—Map App for Android

    City Guide

    City Guide is a location-aware map and places app for the Android platform. It features eight different color themes, animated effects, responsive design, and a lot more. Also, it is built with easily configurable, cleanly written code, and its documentation will make getting started a breeze. It uses a local SQL database to store data, so that reliance on the user's internet connection is minimized.

    6. Cookbook—Recipe App for Android

    Cookbook

    Cookbook is an Android app template for sharing cooking recipes. With easily configurable and customizable code, you can create your own app with relatively little effort and time. The template features a responsive Material Design interface and a local SQLite database in addition to its AdMob monetization support. So it's time to start "cooking" your app, using Cookbook.

    7. Material Wallpaper

    Material Wallpaper

    Android wallpaper apps are quite popular, and Material Wallpaper is a great way to cater to that market segment. It's designed according to Google's Material Design guidelines, so users get the visual experience they're expecting. The template can manage an unlimited number of categories and image galleries, thanks to its powerful and responsive admin panel. In addition to AdMob integration, it features Firebase Analytics and push notifications too.

    8. Your Recipes App

    Your Recipes App

    Another great cooking app template, Your Recipes App is a complete platform with an Android client and PHP-based server. The powerful Admin Panel lets you manage your content to keep content up to date and error-free. You can send push notifications to your users with Firebase and OneSignal. There is even RTL (right to left) language support, which will help if you want to expand into other languages.

    Android Games and Media App Templates

    9. Quiz Power

    Quiz Power

    The Quiz Power app template allows you to create your own custom quiz app using the format of a single question with four possible answers. To build the quiz, just add your questions and answers on the PHP admin panel database and the game engine will do everything else automatically. All files are provided so that you can customise the screen and design as desired. Support for Google Leaderboard will let your users share their scores with friends, and of course the template comes with Google AdMob integration with Google Service API. 

    10. Speedy Car Game With AdMob and Leaderboard

    Speedy Car Game

    Speedy Car Game is an excellent way to cater to Android car game fans. You get the complete source code for this popular game type and crystal clear graphics for different screen resolutions, along with background music with sounds. Naturally, it includes Google Leaderboard and AdMob integration. 

    11. Your Radio App

    Your Radio App

    Your Radio App is an internet radio streaming app for Android. It supports several popular streaming formats, including M3U and AAC. This is a well-thought-out app with some nice features. For example, the ability to stop the radio when someone is calling is useful. The powerful admin panel, the great looking Material Design UI, and the Google Cloud Messaging push notifications are also worth mentioning.

    12. Stream Radio

    Stream Radio

    Stream Radio is a radio streaming app supporting a large number of streaming formats such as MP3, PCM/WAVE, AAC, AMR, Vorbis, etc. It provides excellent support for handling streaming errors due to network-related issues and for dealing with bad streaming URLs. With this template, you'll get the complete Android source code, a YouTube video with step-by-step instructions, full documentation, and the demo APK file. AdMob integration is discreet and non-intrusive.

    13. Stream Radio 2 (Single Station)

    Stream Radio 2 Single Station

    Another serious competitor on the list, Stream Radio 2 (Single Station) is an Android online radio streamer that supports a variety of popular streaming formats. It shares almost the same features as the multiple station app, but is restricted to a single radio station. It supports social media network integration too.

    14. Your Videos Channel

    Your Videos Channel is a great app template for those who just need to build a video streaming platform. It doesn't matter whether you choose to serve videos from YouTube or from your own server. This app is capable of handling any of those options. It has a beautiful Material Design UI, a responsive Admin Panel, and support for OneSignal push notifications. It's a great way to keep users engaged with your video content while also building an additional revenue source.

    iOS Templates

    15. RealEstate Finder

    RealEstate Finder

    RealEstate Finder is an iOS app template with a PHP back-end. It's packed with location-based features such as geofencing and Google Maps directions, which can help you create a unique user experience. It also has streamlined communication channels with integrated telephony, SMS, and email. Back-end server access will be provided to anyone who purchases the template.

    16. Web2App for IOS

    Web2App for IOS is the iOS version of the Web2App template mentioned above. This template is highly customizable and ships with comprehensive documentation, video tutorials, and step-by-step instructions that make it easy to get started. You can choose from countless display modes and colors to suit your requirements, and of course customize the AdMob integration.

    17. SuperView—WebView App

    SuperView - WebView App

    SuperView allows you to wrap your website in a simple iOS app. It's ideal for web developers who want to ease the difficult learning curve associated with the Swift programming language and iOS SDK. The quality of the coding and design in this template are really impressive.

    Mobile Cross-Platform Templates

    18. ionWordpress

    ionWordpress -Wordpress Full Integrated Mobile App

    ionWordpress is built on the cross-platform Ionic framework and enables you to build hybrid mobile apps with HTML5, CSS, and JavaScript. The template has a beautiful UI and UX features to delight your users. It also provides easy style customization capabilities and integration with WordPress and, naturally, AdMob.

    19. Ionic Mobile App Builder

    Ionic Mobile App Builder

    Ionic Mobile App Builder is another hybrid mobile app template based on the Ionic framework. This template comes with some great front-end and back-end tools, including a WYSIWYG layout editor, a WordPress plugin generator, and a lot more. Even if you're not so confident in PHP and MySQL skills, that's no problem—Ionic Mobile App Builder even has a web admin panel generator that'll take care of your PHP code!

    Get an App Template Now!

    App templates are a great way to jump-start your next development project, or to learn from other people's work. Pick one of these great app templates today to kick-start development of your next app. Your time is valuable, and you owe it to yourself to do everything you can to get a head start on your next project. 

    There are many more templates available on Code Canyon. Put one of them to use right now, or read more about how to use an app template here on Envato Tuts+!

  • Mon, 15 Oct 2018 18:05:15 +0000: 5 Amazing Assets for Your Online Photography Store - Envato Tuts+ Tutorials

    Selling your photography is a natural progression for many. Getting started can be a bit daunting: how to make your store look great, what prices to set your photographs at and how to get people to actually buy them are just some of the questions that need answering. Here, we've put together some of our top tips for selling your photographs online, as well as 5 Amazing Assets from Envato Elements to help you on your way.

    1. Photography Enthusiast

    Perfect as a simple opener on your site, Photography Enthusiast is a video template for Adobe After Effects with both a dark and light version included. The font links are included in the PDF with the download.

    Photography Enthusiast
    Photography Enthusiast

    2. Photography Enthusiast 2

    If you loved Photography Enthusiast, then you’ll adore its sibling. A similar premise to its predecessor, but with a new design, Photography Enthusiast 2 also includes two versions which have a duration of 13 seconds.

    Photography Enthusiast 2
    Photography Enthusiast 2

    3. Prosto Shop - E-Commerce PSD Kit

    Prosto is a creative e-commerce kit for Adobe Photoshop. The folder consists of 18 layered PSD files which makes it easy to edit.  Although not specifically for photography, the pages are a great starting point for you to customise and integrate into your current site.

    Prosto Shop - E-Commerce PSD Kit
    Prosto Shop - E-Commerce PSD Kit

    4. Finch – Photography & Magazine Site Template

    Finch is a responsive template designed with photographers in mind. It’s a responsive site, meaning it’ll adapt to screen sizes, so your photos will look great whether they’re viewed on a desktop, or mobile device. There are three styles of blog to choose from and eight different colour schemes.

    Finch  Photography  Magazine Site Template
    Finch – Photography & Magazine Site Template

    5. Stillness — Atmospheric Inspirational Slideshow

    The Stillness slideshow template for After Effects is a great way to show off your photographs in a more dynamic way than usual portfolio pages. Great as an introduction to your website, or even to use on portfolio pages if you have a particular theme you want to show off, or a story to tell.

    Stillness  Atmospheric Inspirational Slideshow The Stillness slidesho
    Stillness — Atmospheric Inspirational Slideshow The Stillness slidesho

    Each asset here is from Envato Elements, where you can download unlimited resources for a monthly subscription.

    Tuts+ Tips for Selling Your Photo Online

    • Be selective. Having a smaller but more impressive offering leaves a better overall impression than a packed gallery. Think about sorting your images into separate galleries if your styles vary.
    • Have someone with experience look over your images where possible. They might be able to guide you in a direction that will help generate more sales.
    • Make sure your ecommerce site looks good, but most importantly, is functional.
    • Price realistically. Sorting prints yourself will always be a cheaper option, but you can take the hassle out of it by using an existing retailer who will then take a cut of the profits.
    • Use sales sparingly. People will soon tire of ‘I have a great offer on…’ posts. Make special offers and discounts really count by keeping them few and far between.

    Tutorials to Help You Sell



  • Mon, 15 Oct 2018 15:23:06 +0000: How to Create a Leather Stamp Logo Mockup in Adobe Photoshop - Envato Tuts+ Tutorials
    Final product image
    What You'll Be Creating

    In this tutorial, you'll learn how to create a leather stamp logo mockup with Adobe Photoshop using the techniques of layer styles and smart objects.

    But first, do you need to design a logo? Check out this simple, easy to use online logo maker. Over 745 SMART logo templates to design your custom logo all in one place, Placeit

    If you're looking to skip this process, you can purchase a logo mockup over on Envato Elements or GraphicRiver.

    Tutorial Assets

    The following assets were used during the production of this tutorial:

    1. How to Prepare the Scene

    Step 1

    Download the Real Perspective Image and open it with Photoshop.

    Perspective image

    Locate the Layers panel. If you can't see the panel, open it by choosing Window > Layers.

    Look at the "Background" layer. It could be locked (a small padlock appears close the right edge of the layer): 

    Layer panel

    To unlock the layer choose Layer > New > Layer from Background and then press OK.

    Rename the layer by double-clicking directly on the layer's name in the Layers panel and changing it to "Perspective".

    Step 2

    Download the Background Image and open it with Photoshop. 

    Select the image by choosing Select > All or pressing Command-A. Now copy the layer content, by going to Edit > Copy or pressing Command-C.

    Go back to the previous document (the one with the perspective) by clicking on the proper tab.

    Now paste the background image just copied by choosing Edit > Paste or pressing Command-V.

    Rename the layer by double-clicking directly on the layer's name in the Layers panel and changing it to "Background".

    Layer panel

    Close the background document. Don't save changes to the document before closing.

    Move the "Background" layer behind "Perspective" by clicking and dragging directly the layer in the Layers panel:

    Layer panel

    2. How to Distort the Smart Object

    Step 1

    Set the foreground color to green (any color different from black is good).

    Then choose the Rectangle Tool, move the cursor over the canvas, and click. You’ll open a small dialog box that allows you to enter precise dimensions for your new shape. Type 1100 x 793 px and click the OK button.

    Rename the layer by double-clicking directly on the layer's name in the Layers panel and changing it to "Smart Object".

    With the "Smart Object" layer selected, choose, in the top menu, Layer > Smart Object > Convert to Smart Object.

    Now you should have a rectangle (no matter the color) over the perspective image:

    Perspective image

    Step 2

    Choose Edit > Transform > Distort

    Distort allows you to grab corner points for individual movement, or center side points to move the entire edge to taste.

    In this step it's extremely important that we transform the green rectangle using only the corner points.

    Drag the top left corner point to touch the top left corner of the black perspective rectangle.

    Perspective image

    Keep dragging the corners point to fit the green rectangle into the black perspective one:

    Perspective image

    Remove the "Perspective" layer by selecting it in the Layers panel and choosing Layer > Delete > Layer

    Good work! Now the Smart Object is in the right perspective. Everything we put inside the Smart Object will take the angle of the green rectangle. 

    Now we're ready to replace the green rectangle inside the smart object with a badge or logo to customize our project. Let's go!

    3. How to Import the Badge From Illustrator to Photoshop

    We need a logo or badge to complete the scene. This badge will be a prominent element that later will be engraved in the leather texture.

    In this tutorial, we'll use a badge that comes from a great collection of Vintage Style Badges and Logos from Envato Elements:

    Badge from Vintage Style Badges and Logos

    Step 1

    Choose the Selection Tool (V).

    Selection tool

    Now select the "Skateboards" badge (or whatever badge you like). Copy the badge by going to Edit > Copy or pressing Command-C.

    Create a new 350 x 350 px document in Adobe Illustrator.

    Now paste the badge just copied by choosing Edit > Paste or pressing Command-V.

    Step 2

    With the Selection Tool (V), move the badge over the grey area, out of the white canvas.

    Badge from Vintage Style Badges and Logos

    Now the badge needs to be expanded and converted into vector shapes.

    If the badge is not selected, select it by clicking on it using the Selection Tool (V). In the top menu, choose Object > Expand Appearance. Again, choose Object > Expand. A dialog window will appear; select Object and Fill and press OK:

    Expand dialog

    Step 3

    Locate the Pathfinder panel. If you can't see the panel, open it by choosing Window > Pathfinder.

    Pathfinder panel

    Choose Trim. The Trim button removes the part(s) of the objects that are overlapping or hidden. If the objects are stroked, Trim removes the strokes. It does not merge objects with the same color attributes.

    Step 4

    Choose the Magic Wand Tool:

    Magic Wand Tool

    Move the cursor over a white area and click to select all the white areas of the badge:

    Badge from Vintage Style Badges and Logos

    If you need, magnify the canvas using the Zoom Tool (Z). 

    Remove the selected white areas by choosing, in the top menu, Edit > Cut. Keep removing all the light areas within the badge. With the Magic Wand Tool, click on the light grey elements to select them.

    Badge from Vintage Style Badges and Logos

    Remove the selected light grey areas by choosing, in the top menu, Edit > Cut.

    Now that you've removed all the white/light areas, the badge should look like this:

    Badge from Vintage Style Badges and Logos

    4. How to Include the Badge in the Scene

    Step 1

    If the badge is not selected, select it clicking on it using the Selection Tool (V). Copy the badge going to Edit > Copy or pressing Command-C.

    Badge from Vintage Style Badges and Logos

    Step 2

    Go back to Photoshop and double-click on the Smart Objects thumbnail.

    When you edit a Smart Object, the source content is opened in a new window of Photoshop. Here you can make any changes you like, and once you're satisfied, all you need to do is save the file and the Photoshop Smart Object will be updated when you return to it.

    In the Layers panel, paste the badge just copied by choosing Edit > Paste or pressing Command-V, and remove the green rectangle layer.

    From the dialog box, choose Smart Object and press OK:

    Paste smart object dialog

    Locate the top options bar and set the badge's position to 550 x 396 px and its dimension to 366% for both Width and Height fields. When you're done, press Enter on your keyboard:

    Top options bar

    Step 3

    In the Layers panel, double-click the layer outside the layer name or thumbnail to open the Layer Style panel. Add a new Gradient Overlay, set the Blend Mode to Normal and the Opacity to 100%, and set the color of the overlay by clicking on the small color icon and typing the hex code #ffffff. Press OK to confirm.

    This step is not necessary. I do this only to make the badge stand out over the background.

    Layer style dialog

    Step 4

    Save the document by choosing File > Save or using the keyboard shortcut Command-S.

    We've successfully updated the smart object!

    Leather stamp logo mockup

    5. How to Stamp the Badge Into the Leather

    It's time to add some significant effects to the badge to give it a 3D feel, consistent with the scene.

    Step 1

    Set the Fill for the "Smart Object" layer to 0%:

    Layer panel

    Duplicate the "Smart Object" layer twice by going to Layer > New > Layer Via Copy.

    Now rename the layers as shown in the image below.

    From now on, when you need to replace the badge in your smart object, you can use the "Smart Object" layer, by clicking on it and editing the content.

    Layer panel

    Step 2

    Let's start adding some layer styles to the "Effect 2" layer. Open the Layers Style panel and add a new Bevel & Embossed effect and set it as shown in the image below:

    Layer style dialog

    Step 3

    Add a new Gradient Overlay effect and set it as shown in the image below:

    Layer style dialog

    Then click on the small gradient window to edit the gradient. Set the first color stop to Location 0% with Color #000000 and the second color stop to Location 100% and Color #ffffff.

    Gradient editor dialog

    Step 4

    Add a new Drop Shadow effect and set it as shown in the image below.

    The color for the Blend Mode is White #ffffff.

    Layer style dialog

    Step 5

    Let's add some smart filters to "Effect 1" layer by choosing Filter > Distort > Ripple. Set the filter amount to -60%:

    Ripple filter dialog

    Choose Filter > Blur > Gaussian Blur and set the radius to 1.0 pixels.

    Gaussian blur filter dialog

    Step 6

    Now let's add some layer styles to the "Effect 1" layer. Open the Layers Style panel and add a new Bevel & Embossed effect and set it as shown in the image below.

    The color is White #ffffff for the Highlight Mode and Black #000000 for the Shadow Mode.

    Layer style dialog

    Step 7

    Add a new Inner Shadow effect and set it as shown in the image below.

    The color for the Blend Mode is Black #000000.

    Layer style dialog

    Step 8

    Add a new Inner Glow effect and set it as shown in the image below.

    The color for the Blend Mode is Black #000000.

    Layer style dialog

    Step 9

    Add a new Drop Shadow effect and set it as shown in the image below.

    The color for the Blend Mode is White #ffffff.

    Layer style dialog

    Step 10

    Let's add some smart filters to "Effect 2" layer by choosing Filter > Distort > Ripple. Set the filter amount to -60%:

    Ripple filter dialog

    Choose Filter > Blur > Gaussian Blur and set the radius to 1.0 pixels.

    Gaussian blur filter dialog

    Congratulations, You're Done!

    In this tutorial we learned how to create a Leather Stamp logo mockup with Adobe Photoshop!

    I hope that you've enjoyed my tutorial and learned something new. Please feel free to leave your comments, suggestions, and outcomes below.

    Enjoy Photoshopping!

    Leather stamp logo mockup
  • Mon, 15 Oct 2018 12:56:32 +0000: PHP Control Structures and Loops: if, else, for, foreach, while, and More - Envato Tuts+ Tutorials

    Today, we're going to discuss control structures and loops in PHP. I'll show you how to use all the main control structures that are supported in PHP, like if, else, for, foreach, while, and more.

    What Is a Control Structure?

    In simple terms, a control structure allows you to control the flow of code execution in your application. Generally, a program is executed sequentially, line by line, and a control structure allows you to alter that flow, usually depending on certain conditions.

    Control structures are core features of the PHP language that allow your script to respond differently to different inputs or situations. This could allow your script to give different responses based on user input, file contents, or some other data.

    The following flowchart explains how a control structure works in PHP.

    If Condition Flow

    As you can see in the above diagram, first a condition is checked. If the condition is true, the conditional code will be executed. The important thing to note here is that code execution continues normally after conditional code execution.

    Let's consider the following example.

    If-Else Condition Flow

    In the above example, the program checks whether or not the user is logged in. Based on the user's login status, they will be redirected to either the Login page or the My Account page. In this case, a control structure ends code execution by redirecting users to a different page. This is a crucial ability of the PHP language.

    PHP supports a number of different control structures:

    • if
    • else
    • elseif
    • switch
    • while
    • do-while
    • for
    • foreach
    • and more

    Let's take a look at a few of these control structures with examples.

    Go Through the Different Control Structures

    In the previous section, we learned the basics of control structures in PHP and their usefulness in application development. In this section, we'll go through a couple of important control structures that you'll end up using frequently in your day-to-day application development.

    If

    The if construct allows you to execute a piece of code if the expression provided along with it evaluates to true.

    Let's have a look at the following example to understand how it actually works.

    <?php
    $age = 50;
    
    if ($age > 30)
    {
      echo "Your age is greater than 30!";
    }
    ?>

    The above example should output the Your age is greater than 30! message since the expression evaluates to true. In fact, if you want to execute only a single statement, the above example can be rewritten as shown in the following snippet without brackets.

    <?php
    $age = 50;
    
    if ($age > 30)
      echo "Your age is greater than 30!";
    ?>

    On the other hand, if you have more than one statements to execute, you must use brackets, as shown in the following snippet.

    <?php
    if (is_array($user))
    {
      $user_id = isset($user['user_id']) ? $user['user_id'] : '';
      $username = isset($user['username']) ? $user['username'] : '';
      // and more statements...
    }
    ?>

    Else

    In the previous section, we discussed the if construct, which allows you to execute a piece of code if the expression evaluates to true. On the other hand, if the expression evaluates to false, it won't do anything. More often than not, you also want to execute a different code snippet if the expression evaluates to false. That's where the else statement comes into the picture.

    You always use the else statement in conjunction with an if statement. Basically, you can define it as shown in the following pseudo code.

    if (expression)
    {
      // code is executed if the expression evaluates to TRUE
    }
    else
    {
      // code is executed if the expression evaluates to FALSE
    }

    Let's revise the previous example to understand how it works.

    <?php
    $age = 50;
    
    if ($age < 30)
    {
      echo "Your age is less than 30!";
    }
    else
    {
      echo "Your age is greater than or equal 30!";
    }
    ?>

    So when you have two choices, and one of them must be executed, you can use the if-else construct.

    Else If

    We can consider the elseif statement as an extension to the if-else construct. If you've got more than two choices to choose from, you can use the elseif statement.

    Let's study the basic structure of the elseif statement, as shown in the following pseudo code.

    if (expression1)
    {
      // code is executed if the expression1 evaluates to TRUE
    }
    elseif (expression2)
    {
      // code is executed if the expression2 evaluates to TRUE
    }
    elseif (expression3)
    {
      // code is executed if the expression3 evaluates to TRUE
    }
    else
    {
      // code is executed if the expression1, expression2 and expression3 evaluates to FALSE, a default choice
    }

    Again, let's try to understand it using a real-world example.

    <?php
    $age = 50;
    
    if ($age < 30)
    {
      echo "Your age is less than 30!";
    }
    elseif ($age > 30 && $age < 40)
    {
      echo "Your age is between 30 and 40!";
    }
    elseif ($age > 40 && $age < 50)
    {
      echo "Your age is between 40 and 50!";
    }
    else
    {
      echo "Your age is greater than 50!";
    }
    ?>

    As you can see in the above example, we have multiple conditions, so we've used a series of elseif statements. In the event that all if conditions evaluate to false, it executes the code provided in the last else statement.

    Switch

    The switch statement is somewhat similar to the elseif statement which we've just discussed in the previous section. The only difference is the expression which is being checked.

    In the case of the elseif statement, you have a set of different conditions, and an appropriate action will be executed based on a condition. On the other hand, if you want to compare a variable with different values, you can use the switch statement.

    As usual, an example is the best way to understand the switch statement.

    <?php
    $favourite_site = 'Code';
    
    switch ($favourite_site) {
      case 'Business':
        echo "My favourite site is business.tutsplus.com!";
        break;
      case 'Code':
        echo "My favourite site is code.tutsplus.com!";
        break;
      case 'Web Design':
        echo "My favourite site is webdesign.tutsplus.com!";
        break;
      case 'Music':
        echo "My favourite site is music.tutsplus.com!";
        break;
      case 'Photography':
        echo "My favourite site is photography.tutsplus.com!";
        break;
      default:
        echo "I like everything at tutsplus.com!";
    }
    ?>

    As you can see in the above example, we want to check the value of the $favourite_site variable, and based on the value of the $favourite_site variable we want to print a message.

    For each value you want to check with the $favourite_site variable, you have to define the case block. If the value is matched with a case, the code associated with that case block will be executed. After that, you need to use the break statement to end code execution. If you don't use the break statement, script execution will be continued up to the last block in the switch statement.

    Finally, if you want to execute a piece of code if the variable's value doesn't match any case, you can define it under the default block. Of course, it's not mandatory—it's just a way to provide a default case.

    So that's the story of conditional control structures. We'll discuss loops in PHP in the next section.

    Loops

    Loops in PHP are useful when you want to execute a piece of code repeatedly until a condition evaluates to false. So code is executed repeatedly as long as a condition evaluates to true, and as soon as the condition evaluates to false, the script continues executing the code after the loop.

    The following flowchart explains how loops work in PHP.

    Loop Flow

    As you can see in the above screenshot, a loop contains a condition. If the condition evaluates to true, the conditional code is executed. After execution of the conditional code, control goes back to the loop condition, and the flow continues until the condition evaluates to false.

    In this section, we'll go through the different types of loops supported in PHP.

    While Loop

    The while loop is used when you want to execute a piece of code repeatedly until the while condition evaluates to false.

    You can define it as shown in the following pseudo code.

    while (expression)
    {
      // code to execute as long as expression evaluates to TRUE
    }

    Let's have a look at a real-world example to understand how the while loop works in PHP.

    <?php  
    $max = 0;  
    echo $i = 0;
    echo ",";
    echo $j = 1;  
    echo ",";
    $result=0;
    
    while ($max < 10 )  
    {  
        $result = $i + $j;  
    
        $i = $j;  
        $j = $result;  
    
        $max = $max + 1;  
        echo $result;
        echo ",";
    }
    ?>

    If you're familiar with the Fibonacci series, you might recognize what the above program does—it outputs the Fibonacci series for the first ten numbers. The while loop is generally used when you don't know the number of iterations that are going to take place in a loop.

    Do-While Loop

    The do-while loop is very similar to the while loop, with the only difference being that the while condition is checked at the end of the first iteration. Thus, we can guarantee that the loop code is executed at least once, irrespective of the result of the while expression.

    Let's have a look at the syntax of the do-while loop.

    do
    {
      // code to execute
    } while (expression);

    Let's go through a real-world to understand possible use-cases where you can use the do-while loop.

    <?php
    $handle = fopen("file.txt", "r");
    if ($handle)
    {
        do
        {
            $line = fgets($handle);
    
            // process the line content
    
        } while($line !== false);
    }
    fclose($handle);
    ?>

    In the above example, we're trying to read a file line by line. Firstly, we've opened a file for reading. In our case, we're not sure if the file contains any content at all. Thus, we need to execute the fgets function at least once to check if a file contains any content. So we can use the do-while loop here. do-while evaluates the condition after the first iteration of the loop.

    For Loop

    Generally, the for loop is used to execute a piece of code for a specific number of times. In other words, if you already know the number of times you want to execute a block of code, it's the for loop which is the best choice.

    Let's have a look at the syntax of the for loop.

    for (expr1; expr2; expr3)
    {
      // code to execute
    }

    The expr1 expression is used to initialize variables, and it's always executed. The expr2 expression is also executed in the beginning of a loop, and if it evaluates to true, the loop code is executed. After execution of the loop code, the expr3 is executed. Generally, the expr3 is used to alter the value of a variable which is used in the expr2 expression.

    Let's go through the following example to see how it works.

    <?php
    for ($i=1; $i<=10; ++$i)
    {
      echo sprintf("The square of %d is %d.</br>", $i, $i*$i);
    }
    ?>

    The above program outputs the square of the first ten numbers. It initializes $i to 1, repeats as long as $i is less than or equal to 10, and adds 1 to $i at each iteration.

    For Each

    The foreach loop is used to iterate over array variables. If you have an array variable, and you want to go through each element of that array, the foreach loop is the best choice.

    Let's have a look at a couple of examples.

    <?php
    $fruits = array('apple', 'banana', 'orange', 'grapes');
    foreach ($fruits as $fruit)
    {
      echo $fruit;
      echo "<br/>";
    }
    
    $employee = array('name' => 'John Smith', 'age' => 30, 'profession' => 'Software Engineer');
    foreach ($employee as $key => $value)
    {
      echo sprintf("%s: %s</br>", $key, $value);
      echo "<br/>";
    }
    ?>

    If you want to access array values, you can use the first version of the foreach loop as shown in the above example. On the other hand, if you want to access both a key and a value, you can do it as shown in the $employee example above.

    Conclusion

    In this article, we discussed different control structures and loops in PHP. They are an essential part of PHP—or any programming language for that matter.

    I hope you've enjoyed this article, and if you have any queries, feel free to ask them using the feed below!

smashingapps. com
  • Tue, 26 Jun 2018 05:53:38 +0000: 7 Must Check Google Tools For Web Designers & Developers - SmashingApps.com
    There are many web apps for designer and developers out there, but getting by free and good ones is not that easy. Today, we are sharing some great tools by Google. Previously, we have already covered 9 Best Resources For Web Developers & Web Designers So, without...
  • Thu, 21 Jun 2018 02:51:19 +0000: 9 Free Yet Worth Trying macOS Apps, If You Love Traveling - SmashingApps.com
    In respect to sentence “You have nothing to loose and a world to see, Whenever you travel”, There are many macOS apps out there, but getting by free and good ones is not that easy. That is why we are sharing 9 Free Yet Worth Trying macOS...
  • Wed, 20 Jun 2018 12:06:39 +0000: 12 Diversified Yet Free To Use WYSIWYG Text Editors - SmashingApps.com
    Are you looking for some free to use Javascript or jQuery WYSIWYG HTML editors? Well, if your answer is yes, then you are lucky enough to land on the right page. In this round up, we are presenting 12 Diversified Yet Free To Use WYSIWYG Text Editors....
  • Tue, 19 Jun 2018 05:49:48 +0000: 7 Web Apps For Web Designers To Simplify Their Work Life - SmashingApps.com
    There are many web apps for designer and developers out there, but getting by free and good ones is not that easy. That is why we are sharing 7 Web Apps For Web Designers To Simplify Their Work Life. Previously, we have already covered 9 Tools To...
  • Mon, 18 Jun 2018 02:17:38 +0000: 8 Free Wallpaper Photos Apps On Microsoft Store You (Might) Never Knew For Windows - SmashingApps.com
    There are many apps are available on Microsoft store for free which can be installed very easily but who knows? That is why we are sharing 8 Wallpaper Photos Apps On Microsoft Store You (Might) Never Knew For Windows. So, without any further ado let’s take a...

 

 

 


Comments are closed.